Programs synchronization
Note
On the OpenMRS Design Forum 2018-10-03 (meeting notes: https://notes.openmrs.org/2018-10-03-Design-Forum) we decided (together with OpenMRS community) synchronize this object via REST because mapping via FHIR is too complex.
Introduction
Note that information about OpenMRS programs is placed here.
FHIR Mapping
On this page are placed suggestion on how to map OpenMRS classes:
OpenMRS class | FHIR class |
---|---|
PatientState | |
PatientProgram | |
Program | |
ProgramWorkflow | |
ProgramWorkflowState |
Keyword extension means that FHIR Extension has to be used to synchronize this field.
OpenMRS class PatientState. FHIR class EpisodeOfCare.
OpenMRS class | OpenMRS field | DB column | FHIR field | Details |
---|---|---|---|---|
PatientState | patientStateId : Integer | patient_state_id : INT | - | Instead of database id is used the UUID. |
PatientState | patientProgram : PatientProgram | patient_program_id : INT | referralRequest : Reference(ReferralRequest) | |
PatientState | state : ProgramWorkflowState | state : INT | referralRequest : Reference(ReferralRequest) | |
PatientState | startDate : Date | start_date : DATE | period : Period | Used start date from the Period object. |
PatientState | endDate : Date | end_date : DATE | period : Period | Used end date from the Period object. |
BaseOpenmrsData | creator : User | creator : INT | extension | |
BaseOpenmrsData | dateCreated : Date | date_created : DATETIME | extension | |
BaseOpenmrsData | changedBy : User | changed_by : INT | extension | |
BaseOpenmrsData | dateChanged : Date | date_changed : DATETIME | extension | |
BaseOpenmrsData | voided : Boolean | voided : TINYINT | extension | |
BaseOpenmrsData | dateVoided : Date | date_voided : DATETIME | extension | |
BaseOpenmrsData | voidedBy : User | voided_by : INT | extension | |
BaseOpenmrsData | voidedReason : String | void_reason : VARCHAR(255) | extension | |
BaseOpenmrsObject | uuid : String | uuid : CHAR(38) | identifier : Identifier |
OpenMRS class PatientProgram. FHIR class ReferralRequest.
OpenMRS class | OpenMRS field | DB column | FHIR field | Details |
---|---|---|---|---|
PatientProgram | patientProgramId : Integer | patient_program_id : INT | - | Instead of database id is used the UUID. |
PatientProgram | patient : Patient | patient_id : INT | subject : Reference(Patient) | |
PatientProgram | program : Program | program_id : INT | definition : Reference(PlanDefinition) | |
PatientProgram | location : Location | location_id : INT | supportingInfo : Reference(Any) | |
PatientProgram | dateEnrolled : Date | date_enrolled : DATETIME | occurrencePeriod : Period | Used start date from the Period object. |
PatientProgram | dateCompleted : Date | date_completed : DATETIME | occurrencePeriod : Period | Used end date from the Period object. |
PatientProgram | outcome : Concept | outcome_concept_id : INT | reasonCode : CodeableConcept | |
PatientProgram | states : Set<PatientState> | Many to one relation | - | In the PatientState is the reference to PatientProgram. |
BaseOpenmrsData | creator : User | creator : INT | extension | |
BaseOpenmrsData | dateCreated : Date | date_created : DATETIME | authoredOn : dateTime | |
BaseOpenmrsData | changedBy : User | changed_by : INT | extension | |
BaseOpenmrsData | dateChanged : Date | date_changed : DATETIME | extension | |
BaseOpenmrsData | voided : Boolean | voided : TINYINT | extension | |
BaseOpenmrsData | dateVoided : Date | date_voided : DATETIME | extension | |
BaseOpenmrsData | voidedBy : User | voided_by : INT | extension | |
BaseOpenmrsData | voidedReason : String | void_reason : VARCHAR(255) | extension | |
BaseOpenmrsObject | uuid : String | uuid : CHAR(38) | idenfifier : Identifier |
OpenMRS class Program. FHIR class PlanDefinition.
OpenMRS class | OpenMRS field | DB column | FHIR field | Details |
---|---|---|---|---|
Program | programId : Integer | program_id : INT | - | Instead of database id is used the UUID. |
Program | concept : Concept | concept_id : INT | goal.description : CodeableConcept | |
Program | outcomesConcept : Concept | Outcomes_concept_id : INT | goal.target.detailCodeableConcept : CodeableConcept | |
Program | allWorkflows : Set<ProgramWorkflow> | Many to one relation | - | In the PatientProgram is the reference to Program. |
BaseOpenmrsMetadata | name : String | name : VARCHAR(50) | name : string | |
BaseOpenmrsMetadata | description : String | description : TEXT | description : markdown | |
BaseOpenmrsMetadata | creator : User | creator : INT | extension | |
BaseOpenmrsMetadata | dateCreated : Date | date_created : DATETIME | extension | |
BaseOpenmrsMetadata | changedBy : User | changed_by : INT | extension | |
BaseOpenmrsMetadata | dateChanged : Date | date_changed : DATETIME | date : dateTime | |
BaseOpenmrsMetadata | retired : Boolean | retired : TINYINT | extension | |
BaseOpenmrsObject | uuid : String | uuid : CHAR(38) | idenfifier : Identifier |
OpenMRS class ProgramWorkflow. FHIR class CarePlan.
OpenMRS class | OpenMRS field | DB column | FHIR field | Details |
---|---|---|---|---|
ProgramWorkflow | programWorkflowId : Integer | program_workflow_id : INT | - | Instead of database id is used the UUID. |
ProgramWorkflow | program : Program | program_id : INT | definition : Reference(PlanDefinition) | |
ProgramWorkflow | concept : Concept | concept_id : INT | category : CodeableConcept | |
ProgramWorkflow | states : Set<ProgramWorkflowState> | Many to one relation | - | In the ProgramWorkflowState is the referance to ProgramWorkflow. |
BaseOpenmrsMetadata | creator : User | creator : INT | extension | |
BaseOpenmrsMetadata | dateCreated : Date | date_created : DATETIME | extension | |
BaseOpenmrsMetadata | changedBy : User | changed_by : INT | extension | |
BaseOpenmrsMetadata | dateChanged : Date | date_changed : DATETIME | extension | |
BaseOpenmrsMetadata | retired : Boolean | retired : TINYINT | extension | |
BaseOpenmrsObject | uuid : String | uuid : CHAR(38) | idenfifier : Identifier |
OpenMRS class ProgramWorkflowState. FHIR class ReferralRequest.
OpenMRS class | OpenMRS field | DB column | FHIR field | Details |
---|---|---|---|---|
ProgramWorkflowState | programWorkflowStateId : Integer | program_workflow_state_id : INT | - | Instead of database id is used the UUID. |
ProgramWorkflowState | programWorkflow : ProgramWorkflow | program_workflow_id : INT | basedOn : Reference(CarePlan) | |
ProgramWorkflowState | concept : Concept | concept_id : INT | reasonCode : CodeableConcept | |
ProgramWorkflowState | initial : Boolean | initial : TINYINT | extension | Other solutions:
|
ProgramWorkflowState | terminal : Boolean | terminal : TINYINT | extension | Other solutions:
|
BaseOpenmrsMetadata | creator : User | creator : INT | extension | |
BaseOpenmrsMetadata | dateCreated : Date | date_created : DATETIME | extension | |
BaseOpenmrsMetadata | changedBy : User | changed_by : INT | extension | |
BaseOpenmrsMetadata | dateChanged : Date | date_changed : DATETIME | extension | |
BaseOpenmrsMetadata | retired : Boolean | retired : TINYINT | extension | |
BaseOpenmrsObject | uuid : String | uuid : CHAR(38) | idenfifier : Identifier |