-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
chore: complete logical model of HIV program
- Loading branch information
1 parent
a55d686
commit 5bd5693
Showing
9 changed files
with
288 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
Logical: PatientInfo | ||
Title: "Base Patient Data Model" | ||
Description: "Representation of common DHIS2 tracked entity properties." | ||
|
||
* registrationDateTime 1..1 dateTime "Date-Time information was entered" "Date and Time when the patient information was entered into DHIS2" | ||
* firstregisteredAt 1..1 Reference(Organization) "The Org unit where the patient was first registered" | ||
* firstName 0..1 string "Given name of the patient" | ||
* lastName 0..1 string "Family name" | ||
* dateOfBirth 1..1 string "..." | ||
* dateOfBirthIsEstimated 0..1 boolean "..." | ||
* sexAtBirth 1..1 code "..." | ||
* sexAtBirth from PatientSexAtBirthVS (example) | ||
* ^comment = "(valueset depends on the program)" | ||
* currentHomeAddress 1..1 string "" | ||
* contactPhoneNumber 1..1 string "" | ||
* countryOfBirth 0..1 string "..." | ||
* countryOfBirth from urn:iso:std:iso:3166 (example) | ||
* nationaId 0..1 string "..." | ||
* consent 0..1 boolean "..." | ||
|
||
|
||
// @Name: Local Code Systems | ||
|
||
// Define a local code system | ||
CodeSystem: PatientSexAtBirth | ||
Id: patient-sex-at-birth | ||
Title: "Patient Sex at Birth" | ||
Description: "Patient sex at birth." | ||
* #male "Male" | ||
* ^designation[+].language = #pt | ||
* ^designation[=].value = "Masculino" | ||
* ^designation[+].language = #es | ||
* ^designation[=].value = "Masculino" | ||
* ^designation[+].language = #et | ||
* ^designation[=].value = "Mees" | ||
* #female "Female" | ||
* ^designation[+].language = #pt | ||
* ^designation[=].value = "Feminino" | ||
* ^designation[+].language = #es | ||
* ^designation[=].value = "Feminino" | ||
* ^designation[+].language = #et | ||
* ^designation[=].value = "Naine" | ||
* #other "Other" | ||
* ^designation[+].language = #pt | ||
* ^designation[=].value = "Outro" | ||
* ^designation[+].language = #es | ||
* ^designation[=].value = "Otro" | ||
* ^designation[+].language = #et | ||
* ^designation[=].value = "Muu" | ||
* #unknown "Unknown" | ||
* ^designation[+].language = #pt | ||
* ^designation[=].value = "Desconhecido" | ||
* ^designation[+].language = #es | ||
* ^designation[=].value = "Desconocido" | ||
* ^designation[+].language = #et | ||
* ^designation[=].value = "Teadmata" | ||
|
||
|
||
|
||
ValueSet: PatientSexAtBirthVS | ||
Id: patient-sex-at-birth-vs | ||
Title: "Patient Sex at Birth Value Set" | ||
Description: "patient sex at birth value set." | ||
// The "include" in this rule is optional | ||
// http://varnomen.hgvs.org can be replaced with an alias | ||
* include codes from system PatientSexAtBirth |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
Logical: HIVCaseData | ||
Title: "HIV Initial Case Report" | ||
Description: "Initial case report filled out after enrollment." | ||
* initialCaseReportDate 1..1 date "Initial Case Report" | ||
|
||
* dateHIVPositiveTest 1..1 date "Date of documented positive HIV test" | ||
* ageWhenDiagnosedWithHiv 0..1 integer "Age at diagnosis" | ||
* verticalTransmission 0..1 boolean "Vertical transmission" | ||
* typeOfTesting 0..1 Coding "Type of community-level testing" | ||
* typeOfTesting from HIVtypeOfTestingVS (example) | ||
* facilityLevelTestingEntryPoint 0..1 Coding "Entry point for facility-level testing" | ||
* facilityLevelTestingEntryPoint from HIVfacilityLevelTestingEntryPointsVS (example) | ||
* patientInKeyPopGroup 1..1 boolean "Does this person belong to any Key Population groups" | ||
* keyPopGroupMenWhoHaveSexWithMen 0..1 boolean "Key population - Men who have sex with men" | ||
* keyPopGroupInjectionDrugUser 0..1 boolean "Key population - Injection drug user" | ||
* keyPopGroupPrisoner 0..1 boolean "Key population - Prisoner" | ||
* keyPopGroupSexWorker 0..1 boolean "Key population - Sex worker" | ||
* keyPopGroupTransgender 0..1 boolean "Key population - Transgender" | ||
|
||
|
||
// Local code systems | ||
CodeSystem: HIVtypeOfTesting | ||
Title: "HIV Type of Testing" | ||
Description: "HIV type of community-level testing." | ||
* #MOBILE "Mobile testing (e.g. through vans or temporary testing facilities)" | ||
* #VOLUNTARYCTC "Voluntary counceling and testing centres (not within a health facility setting)" | ||
* #OTHERCOMMUNITY "Other community based testing" | ||
|
||
CodeSystem: HIVfacilityLevelTestingEntryPoints | ||
Title: "HIV Entry Points for Facility-Level Testing" | ||
Description: "HIV entry points for facility-level testing." | ||
* #PROVIDERINITIATED "Provider-initiated tested in a clinic or emergency facility" | ||
* #ANTENATALCLINIC "Antenatal care clinic" | ||
* #VOLUNTARYCOUNSELLING "Voluntary Counselling and Testing (within a health facility setting)" | ||
* #FAMILYPLANNING "Family planning clinic" | ||
* #OTHERFACILITY "Other facility-level testing" | ||
* #TBCLINIC "TB clinic" | ||
|
||
|
||
|
||
// Local value sets | ||
ValueSet: HIVtypeOfTestingVS | ||
Title: "HIV Type of Testing Value Set" | ||
Description: "HIV type of testing value set." | ||
* include codes from system HIVtypeOfTesting | ||
|
||
ValueSet: HIVfacilityLevelTestingEntryPointsVS | ||
Title: "HIV Entry Points for Facility-Level Testing Value Set" | ||
Description: "HIV entry points for facility-level testing value set." | ||
* include codes from system HIVfacilityLevelTestingEntryPoints |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
Logical: HIVCaseVisitData | ||
Title: "HIV Visit" | ||
Description: "Report filled out during facility visit." | ||
|
||
* visitDate 1..1 date "Viral load test date" | ||
* dueDate 1..1 date "Visit due date" | ||
* reasonForVisit 0..1 Coding "The reason for this visit" | ||
* reasonForVisit from HIVreasonsForVisitVS (example) | ||
* treatmentStarted 0..1 boolean "Is the patient currently on treatment" | ||
* dateARTInitiation 0..1 date "Date of ART initiation" | ||
* eligibleforTBPreventiveTreatment 0..1 boolean "Is patient eligible for preventive treatment" | ||
// TODO: add constraint: TPT data elements are only filled out IF eligibleForTBPreventiveTreatment is true | ||
* TPTEligibleDate 0..1 date "TPT Date Eligible" | ||
* TPTInitiatedDate 0..1 date "TPT Date Initiated" | ||
* TPTRegimen 0..1 Coding "TPT Regimen" | ||
* TPTRegimen from HIVtptRegimenVS (example) | ||
* TPTCompletedDate 0..1 date "TPT Date Completed" | ||
* TPTrestartTreatment 0..1 boolean "TPT restart treatment" | ||
* treatmentStatus 0..1 Coding "Treatment status" | ||
* treatmentStatus from HIVtreatmentStatusVS (example) | ||
* viralLoadTestDate 0..1 date "Viral load test date" | ||
* viralLoadLessThanThousand 0..1 boolean "Viral load < 1000" | ||
* numberOfviralLoadTestResults 0..1 integer "Viral load test results" | ||
* previousViralLoadValue 0..1 integer "Previous viral load value" | ||
* lastDateWithART 0..1 date "Last day with ART" | ||
* dateOfDeath 0..1 date "Date of death" | ||
* statusChangeDate 0..1 date "Status change date" | ||
* currentlyPregnant 0..1 boolean "Currently pregnant?" | ||
* daysARTdispensed 0..1 integer "Days of ART provided" | ||
|
||
// Local code systems | ||
CodeSystem: HIVreasonsForVisit | ||
Title: "HIV Reasons for Visit" | ||
Description: "HIV reasons for visit." | ||
* #CLINICAL_VISIT "Clinical visit" | ||
* #ARV_PICKUP "Antiretroviral drug pick up" | ||
* #ISSUES "Issues and concerns" | ||
|
||
// Local code systems | ||
CodeSystem: HIVtptRegimen | ||
Title: "HIV TPT Regimen" | ||
Description: "HIV TPT regimen." | ||
* #1HP "1HP (one month of daily rifapentine plus isoniazid)" | ||
* #3HP "3HP (three months of weekly rifapentine plus isoniazid)" | ||
* #3RH "3RH (three months of daily rifampicin plus isoniazid)" | ||
* #4R "4R (four months of daily rifampicin monotherapy)" | ||
* #6H "6H (six months of daily isoniazid monotherapy)" | ||
* #9H "9H (nine months of daily isoniazid monotherapy)" | ||
* #INH-B6 "Combination INH-B6-Cotrim (for the duration of INH specified)" | ||
* #OTHERTPT "Other" | ||
|
||
CodeSystem: HIVtreatmentStatus | ||
Title: "HIV Treatment Status" | ||
Description: "HIV treatment status." | ||
* #RETAINED "On ART" | ||
* #DEAD "Death (documented)" | ||
* #TREATMENTSTOPPED "Refused (stopped) treatment" | ||
* #TRANSFEROUT "Transferred out" | ||
* #LTFU "Lost to follow up" | ||
|
||
|
||
|
||
// Local value sets | ||
ValueSet: HIVreasonsForVisitVS | ||
Title: "HIV Reasons for Visit Value Set" | ||
Description: "HIV reasons for visit value set." | ||
* include codes from system HIVreasonsForVisit | ||
|
||
ValueSet: HIVtptRegimenVS | ||
Title: "HIV TPT Regimen Value Set" | ||
Description: "HIV tpt regimen value set." | ||
* include codes from system HIVtptRegimen | ||
|
||
ValueSet: HIVtreatmentStatusVS | ||
Title: "HIV Treatment Status Value Set" | ||
Description: "HIV treatment status value set." | ||
* include codes from system HIVtreatmentStatus |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
Logical: HIVFollowUp | ||
Title: "HIV Follow-Up" | ||
Description: "Report filled out for follow-up." | ||
* followUpAttemptDate 1..1 date "" | ||
* followUpMethod 1..1 Coding "" | ||
* followUpMethod from HIVFollowUpMethodsVS (example) | ||
* followUpOutcome 1..1 Coding "" | ||
* followUpOutcome from HIVFollowUpOutcomesVS (example) | ||
* followUpReason 1..1 Coding "" | ||
* followUpReason from HIVReasonsForFollowUpVS (example) | ||
* followUpNotes 0..1 string "" | ||
|
||
// Local Code systems | ||
CodeSystem: HIVFollowUpMethods | ||
Title: "HIV Follow-up Methods" | ||
Description: "Methods used for HIV follow-up." | ||
* #SMS "Text message" | ||
* #PHONECALL "Phone" | ||
* #HOMEVISIT "Home Visit" | ||
* #OTHER "Other" | ||
|
||
CodeSystem: HIVFollowUpOutcomes | ||
Title: "HIV Follow-up Outcomes" | ||
Description: "Outcomes for HIV follow-up." | ||
* #RESCHEDULED "Returning to clinic" | ||
* #TRANSFERRED_OUT "Self-transferred out" | ||
* #HOSPITALIZED "Hospitalized" | ||
* #REFUSED_TO_RETURN "Refused to return" | ||
* #NORESPONSE "Not located" | ||
* #DIED_REPORTED "Died (reported)" | ||
* #DIED_CONFIRMED "Confirmed Dead" | ||
|
||
CodeSystem: HIVReasonsForFollowUp | ||
Title: "HIV Follow-up Reasons" | ||
Description: "Reasons for HIV follow-up." | ||
* #MISSED_CLINICAL_VISIT "Missed clinical care visit" | ||
* #MISSED_ARV_PICKUP "Missed medication pickup" | ||
* #MISSED_VISIT_NONCLINICAL "Missed non-clinical visit" | ||
* #ART_NOT_STARTED "Did not initiate ART" | ||
* #HIV_INCONCLUSIVE "Inconclusive HIV status" | ||
* #TEST_RESULTS "Test results received" | ||
* #OTHER_REASON "Other follow up reason (specify)" | ||
|
||
// ValueSets | ||
ValueSet: HIVFollowUpMethodsVS | ||
Title: "HIV Follow-up Methods Value Set" | ||
Description: "A value set including all methods used for HIV follow-up." | ||
* include codes from system HIVFollowUpMethods | ||
|
||
ValueSet: HIVFollowUpOutcomesVS | ||
Title: "HIV Follow-up Outcome Value Set" | ||
Description: "A value set including all possible outcomes of HIV follow-up." | ||
* include codes from system HIVFollowUpOutcomes | ||
|
||
ValueSet: HIVReasonsForFollowUpVS | ||
Title: "HIV Follow-up Reasons Value Set" | ||
Description: "A value set including all possible reasons for HIV follow-up." | ||
* include codes from system HIVReasonsForFollowUp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,15 +1,35 @@ | ||
Logical: HIVPatientInfo | ||
Parent: PatientInfo | ||
Title: "HIV Patient data model" | ||
Description: "When a patient is added, we register the person the enrollment info" | ||
Title: "HIV Patient Data Model" | ||
Description: "Extension of the base patient data model. Includes properties specific to the HIV program." | ||
|
||
* hivEnrollmentUnit 0..1 string "The organization that has first registered the person" | ||
* programNationaId 0..* Identifier "..." | ||
* deceased 0..1 boolean "Is patient deceased?" | ||
* deceasedDate 0..1 boolean "When did patient die?" | ||
* gender 1..1 Coding "" | ||
* gender from HIVPatientGenderVS (example) | ||
* ^comment = "(valueset depends on the program)" | ||
* healthFacilityCode 0..1 string "..." | ||
* nhisId 0..1 string "..." | ||
|
||
// * healthFacilityCode 0..1 string "..." | ||
// * nhisId 0..1 string "..." | ||
// @Name: Local Code Systems | ||
// Define a local code system | ||
CodeSystem: HIVPatientGender | ||
Id: patient-gender | ||
Title: "Patient Gender" | ||
Description: "Patient gender codes." | ||
* #male "Male" | ||
* #female "Female" | ||
* #transgender "Transgender" | ||
* #other "Other" | ||
* #unknown "Unknown" | ||
|
||
|
||
// @Name: Local Code Systems | ||
|
||
ValueSet: HIVPatientGenderVS | ||
Title: "Patient Gender Value Set" | ||
Description: "patient gender value set." | ||
// The "include" in this rule is optional | ||
// http://varnomen.hgvs.org can be replaced with an alias | ||
* include codes from system HIVPatientGender |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,50 +1,10 @@ | ||
Logical: HIVCaseData | ||
|
||
* initialCaseReportDate 1..1 date "Initial Case Report" | ||
|
||
* dateHIVPositiveTest 1..1 date "Date of documented positive HIV test" | ||
* typeOfTesting 0..1 Coding "Type of community-level testing" | ||
* facilityLevelTestingEntryPoint 0..1 Coding "Entry point for facility-level testing" | ||
//* patientInKeyPopGroup 1..1 "Does this person belong to any Key Population groups" | ||
* keyPopGroup 0..* Coding "Key Population group or groups this person belongs to" | ||
|
||
|
||
|
||
|
||
Logical: HIVCaseVisitData | ||
|
||
* visitDate 1..1 date "Visit date" | ||
* dueDate 1..1 date "Visit due date" | ||
* reasonForVisit 0..1 Coding "The reason for this visit" | ||
* treatmentStarted 0..1 boolean "Is the patient currently on treatment" | ||
* dateARTInitiation 0..1 date "Date of ART initiation" | ||
// TBD: add the constraint that can only be filled IF treatmentStarted is true | ||
* eligibleforTBPreventiveTreatment 0..1 boolean "Is patient eligible for preventive treatment" | ||
* treatmentStatus 0..1 Coding "The reason for this visit" | ||
* currentlyPregnant 0..1 boolean "" | ||
* daysARTdispensed 0..1 integer "" | ||
* TPTEligibleDate 0..1 date "..." | ||
* TPTRegimen 0..1 Coding "..." | ||
* TPTInitiatedDate 0..1 date "..." | ||
* TPTCompletedDate 0..1 date "..." | ||
|
||
Logical: HIVFollowUp | ||
|
||
* followUpAttemptDate 0..1 date "" | ||
* followUpOutcome 0..1 Coding "" | ||
|
||
|
||
|
||
Logical: HIVView | ||
|
||
* CaseReport 0..1 HIVCaseData "" | ||
* Visit 0..* date "" | ||
* FollowUp 0..* date "" | ||
|
||
* dateHIVPositiveTest 1..1 date "Date of documented positive HIV test" | ||
* typeOfTesting 0..1 Coding "Type of community-level testing" | ||
* facilityLevelTestingEntryPoint 0..1 Coding "Entry point for facility-level testing" | ||
//* patientInKeyPopGroup 1..1 "Does this person belong to any Key Population groups" | ||
* keyPopGroup 0..* Coding "Key Population group or groups this person belongs to" | ||
|
||
|
||
Title: "HIV Case Surveillance" | ||
Description: "Logical model representation of the HIV case surveillance and treatment follow up program." | ||
|
||
// Program stages | ||
* caseReport 0..1 HIVCaseData "HIV Initial Case Report" | ||
* visit 0..* HIVCaseVisitData "HIV Visit" | ||
* followUp 0..* HIVFollowUp "HIV Follow-Up" | ||
// enrollment | ||
* patient 1..1 HIVPatientInfo "HIV Patient Info" |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.