{"id":15719565,"url":"https://github.com/patrickkidd/familydiagram","last_synced_at":"2026-05-03T08:14:04.716Z","repository":{"id":200051305,"uuid":"704254159","full_name":"patrickkidd/familydiagram","owner":"patrickkidd","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-01T16:50:44.000Z","size":26817,"stargazers_count":3,"open_issues_count":21,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-05-01T18:27:56.595Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/patrickkidd.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-10-12T21:47:56.000Z","updated_at":"2026-05-01T16:50:46.000Z","dependencies_parsed_at":"2026-01-02T04:02:35.775Z","dependency_job_id":"d9db18d7-1bec-4372-a92f-4f49083cf47f","html_url":"https://github.com/patrickkidd/familydiagram","commit_stats":null,"previous_names":["patrickkidd/familydiagram"],"tags_count":110,"template":false,"template_full_name":null,"purl":"pkg:github/patrickkidd/familydiagram","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickkidd%2Ffamilydiagram","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickkidd%2Ffamilydiagram/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickkidd%2Ffamilydiagram/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickkidd%2Ffamilydiagram/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/patrickkidd","download_url":"https://codeload.github.com/patrickkidd/familydiagram/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/patrickkidd%2Ffamilydiagram/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32562187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-03T21:56:08.264Z","updated_at":"2026-05-03T08:14:04.686Z","avatar_url":"https://github.com/patrickkidd.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Family Diagram App\n\nAuthor: Dr. Patrick Stinson\n\n## Vision and Purpose\n\nFamily Diagram is a research and development tool for clinical science in behavioral health. Unlike traditional \"genograms\" that map family structure, this application is aimed at improving objective clinical assessments in behavioral health with a novel clinical model.\n\n### Core Philosophy\n\nThis tool is part of developing the **SARF** clinical model—a novel approach to\nbehavioral health grounded in observation rather than opinion-driven\nassumptions. The goal is to create a framework that organizes factual\nobservations into testable models that predict behavior, moving clinical\npsychology away from untested assumptions and toward empirical knowledge.\n\n\n### What Makes This Different\n\nTraditional clinical tools are essentially chalkboards where therapists\nillustrate their pre-existing assumptions about a case. These assumptions\nusually are subjective and opinion-based. Family Diagram takes a different\napproach by combining **structure** (the family diagram) with **process over\ntime** (the timeline).\n\nThe timeline is the backbone of scientific assessment. By forcing clinicians to organize facts chronologically—births, deaths, relationship changes, shifts in functioning—it distinguishes between **objective facts** and **subjective impressions**. This shift from \"my mother never liked me\" to documenting when specific relationship patterns emerged transforms opinion into testable predictions.\n\n**Functional facts** are central to this approach: not what a dream \"meant,\" but that it occurred on a specific date in relation to other family events. Not whether a political shift was \"right,\" but that it happened alongside changes in health or family relationships. This chronological organization of facts reveals predictable patterns in how families manage stress and anxiety—patterns that can be studied empirically rather than assumed theoretically.\n\n### Applications\n\nFamily Diagram enables professionals to quickly gain a broader perspective on\nthe relationship context of individual problems systems. Primary use cases\ninclude:\n\n- Family or individual psychotherapy\n- Organizational coaching\n- Case presentations\n- Research into family emotional process\n\n### Target Users\n\nThe tool is designed for clinicians, coaches, and researchers interested in\nevidence-based approaches to behavioral health. It provides a rigorous method\nfor documenting and analyzing how individuals function within their relational\ncontexts—not by drawing assumptions, but by systematically organizing what is\nand is not known about a family's history.\n\n## Related Articles\n\nFor deeper exploration of the theory and methodology behind Family Diagram:\n\n- [Example Research and Development Program Proposal](https://alaskafamilysystems.com/2024/01/example-research-and-development-program-proposal/)\n- [Barriers to Science for Bowen theory](https://alaskafamilysystems.com/2023/11/barriers-to-science-for-bowen-theory/)\n- [An Emotional Systems Research Methodology](https://alaskafamilysystems.com/2023/05/an-emotional-systems-research-methodology/)\n- [Induction and Family Diagram](https://alaskafamilysystems.com/2022/10/induction-and-family-diagram/)\n- [Emotion As Vectors, A Definition of Anxiety, and A 9th Concept](https://alaskafamilysystems.com/2022/05/emotion-as-vectors-a-definition-of-anxiety-and-a-9th-concept/)\n- [Using Tags in the Visual Timeline](https://alaskafamilysystems.com/2022/03/using-tags-in-the-visual-timeline/)\n- [Daily Logging in Family Diagram with Toward and Away](https://alaskafamilysystems.com/2021/09/daily-logging-in-family-diagram-with-toward-and-away/)\n- [The Role of Modeling in Scientific Theory](https://alaskafamilysystems.com/2021/05/the-role-of-modeling-in-scientific-theory/)\n- [The Importance of the Timeline in Family Diagram](https://alaskafamilysystems.com/2021/02/the-importance-of-the-timeline-in-family-diagram/)\n- [Dr Katherine Kott: Clinical Research Framework and App](https://alaskafamilysystems.com/2021/01/dr-katherine-kott-clinical-research-framework-and-app-with-dr-laura-havstad-and-dr-patrick-stinson/)\n- [Dr Laura Havstad: Family Practice and Research Using Family Diagram](https://alaskafamilysystems.com/2021/01/dr-laura-havstad-family-practice-and-research-using-family-diagram-2/)\n- [Remote Video Coaching with Family Diagram](https://alaskafamilysystems.com/2020/11/remote-video-coaching-with-family-diagram/)\n- [Defining a Machine Learning Data Model for Family Emotional Process](https://alaskafamilysystems.com/2020/10/defining-a-machine-learning-data-model-for-family-emotional-process/)\n- [The Implicit Model: A case for thinking, objectivity, and theory](https://alaskafamilysystems.com/2020/03/the-implicit-model-a-concept-for-research-and-a-case-for-thinking-objectivity-and-theory/)\n- [Guidelines for Natural Systems Models (Video)](https://alaskafamilysystems.com/2020/02/guidelines-for-natural-systems-models/)\n- [Some Guidelines for Natural Systems Models](https://alaskafamilysystems.com/2020/02/some-guidelines-for-natural-systems-models/)\n\n## Developers\n\n```\n$ uv sync\n$ python main.py\n```\n\n\n### Release Processes\n- Set up build env\n    - All secrets, provisioning, etc set through env (complains if something missing)\n        - Example: `base64 \u003cpath-to-provisioning-profile\u003e | pbcopy` -\u003e `export FD_PROVISIONING_PROFILE=\"\u003cPASTE HERE\u003e\"`\n    - Set in .env file on dev machine\n\n- Build\n    - Canonical entryopint: bin/build.sh\n        - Entire env comes through (mostly confidential) env vars\n    - Confidential env vars (validated in bin/build_env.sh):\n        - FD_BUILD_PEPPER The app secret that is used for encrypted disk writes.\n          Written to pepper.py and imported in python.\n        - FD_BUILD_PROVISIONING_PROFILE_BASE64: Hashed contents of the provisioning profile.\n        - FD_BUILD_CERTIFICATE_BASE64: Hashed contents of the signing certificate\n        - FD_BUILD_PRIVATE_KEY_BASE64: Private key for the signing certificate\n        - FD_BUILD_AC_AUTH_KEY_ID: AppCenter authorization key id\n        - FD_BUILD_AC_AUTH_KEY_BASE64: AppCenter authorization key contents\n        - FD_BUILD_AC_AUTH_KEY_ISSUER: App Developer Team ID (UUID)\n    - Temporary confidential artifacts set up in bin/setup_provisioning_profile.sh\n        - Deletest \u0026 recreates transient Keychain build.keychain-db\n        - Imports provisioning profile into that keychain\n    - macOS\n        - `bin/build.sh [osx-release|osx-alpha|osx-beta]`\n            - Creates `build/osx` from `build/osx-config`\n        - CD setup in `./.github`\n    - Windows\n        - `bin\\build.bat`\n            - Creates `build/win32` from `build/win32-config`\n- Versioning\n    - VERSION_COMPAT in `version.py`\n    - `Info.plist` updated according to `version.py` at build time\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickkidd%2Ffamilydiagram","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpatrickkidd%2Ffamilydiagram","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpatrickkidd%2Ffamilydiagram/lists"}