Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

FHIR DSTU3 will be the primary method of data transfer between the slave Child and master Parent nodes in a Sync network. Wherever possible we should default to using FHIR representations and rely on other methods only if OpenMRS objects cannot be represented using FHIR resources. Atom feeds used by Sync should point to FHIR urls for resources that are transmitted using FHIR.

The OpenMRS FHIR module will be extended to server both as a client and server that will be leveraged by Sync to create and read FHIR representations that will be used in pushing or pulling data. The FHIR services from the module will also be used by Sync to persist FHIR representations it retrieves from masterthe Parent. Overall the module will be used in 3 ways in Sync:

1) On the master a Parent - as the server that receives data pushed from slavesit's Children

2) As a client - on slaves Children to both retrieve data from events published on mastertheir Parent, but also in their own atom feed. It will also be used to push data to mastertheir Parent.

3) As services to persist FHIR representations - on slaves that Children that retrieve FHIR resources from master a Parent and need to persist them in OpenMRS.

...

This is a list of domain objects that implement BaseOpenmrsData that we want to synchronize between OpenMRS servers. While we want to use FHIR as much as we can, it might come up that for some objects we will have to implement a different Sync protocol.

NoOpenMRS EntityFHIR ResourceFHIR Maturity
Level
Notes
Allergy
1Patienthttps://www.hl7.org/fhir/
allergyintolerance
patient.html5 
Cohort
2Obshttps://www.hl7.org/fhir/
group
observation.html5 
Drug
3Encounterhttps://www.hl7.org/fhir/
substance
encounter.html2 
Encounter
4VisitList of encounters can be considered: https://www.hl7.org/fhir/
encounter
list.html 
Form

FHIR's Encounter resource can serve either as an OpenMRS Encounter or OpenMRS Visit. OpenMRS Encounter is a point in time.

  • If a FHIR Encounter spans a period of time (e.g., days), it would be an OpenMRS Visit.
  • If a FHIR Encounter has observations linked to it, it's an OpenMRS Encounter
5Providerhttps://www.hl7.org/fhir/
questionnaire
practitioner.html3 
Location
6Allergyhttps://www.hl7.org/fhir/
location
allergyintolerance.html3 
Obs
7Drughttps://www.hl7.org/fhir/
observation
medication.html
 
3
Order
 
FHIR Nutrition Order and MedicationRequest can be considered, but orders have a broader sense in OpenMRS.Patient
8Locationhttps://www.hl7.org/fhir/
patient
location.html3 
PatientProgram
9Order https://www.hl7.org/fhir/
episodeofcare
medicationrequest.html 
PatientState

FHIR Nutrition Order and MedicationRequest can be considered, but orders have a broader sense in OpenMRS.

Priority would be MedicationRequest (Drug Order) and ProcedureRequest (Test Order)

10PatientProgramhttps://www.hl7.org/fhir/
condition
episodeofcare.html2 
Person
11PatientStatehttps://www.hl7.org/fhir/
person
condition.html3 
12
Provider
Personhttps://www.hl7.org/fhir/
practitioner
person.html2 
13Relationshiphttps://www.hl7.org/fhir/relatedperson.html2 
VisitList of encounters can be considered:
14Cohorthttps://www.hl7.org/fhir/
list
group.html1