Programs synchronization

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

OpenMRS class

FHIR class

PatientState

EpisodeOfCare

PatientProgram

ReferralRequest

Program

PlanDefinition

ProgramWorkflow

CarePlan

ProgramWorkflowState

ReferralRequest


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

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

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

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

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 class