Versions Compared

Key

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


 

Shown below is an example of how a number of OpenMRS module objects would map to FHIR resources, as proposed by Grahame Grieve.

The left side of the relationship indicates the OpenMRS attribute, while the right indicated the FHIR resource mapping.

 


Code Block
titlePatient
 Integer patientId :: n/a - unused
 Set<PatientIdentifier> identifiers :: Patient.identifier
   Integer patientIdentifierId :: not mapped
   Patient patient :: not mapped
   String identifier :: patient.identifier.value
   PatientIdentifierType identifierType ::
   Integer patientIdentifierTypeId :: mapping table, type id ==> URL
   String format :: not mapped
   Boolean required = Boolean.FALSE :: not mapped
   String formatDescription :: not mapped
   Boolean checkDigit = Boolean.FALSE :: not mapped
   String validator :: not mapped
   LocationBehavior locationBehavior :: not mapped
   UniquenessBehavior uniquenessBehavior :: not mapped
   Location location :: Patient.identifier.assigner (URL)
   Boolean preferred = false :: if true, Patient.identifier.use = usual

...

Code Block
titleLocation
Integer uuid :: n/a - goes in the URL e.g. [base]/Location/[locationId]
String name :: Location.name
String description :: Location.description
String address1 :: Address.line
String address2 :: Address.line
String cityVillage :: Address.city
String stateProvince :: Address.state
String country :: Address.country
String postalCode ::Address.zippostalCode
String latitude :: Location.position.longitude
String longitude :: Location.position.latitude
String countyDistrict :: notAddress.district
mapped
String address3 :: Address.line
String address4 :: Address.line
String address6 :: Address.line
String address5 :: Address.line
Location parentLocation :: Location.partOf
Set<Location> childLocations :: not mapped

...

Code Block
titleEncounter
Integer uuid :: n/a - goes in the URL e.g. [base]/Encounter/[encounterId]
Date encounterDatetime :: Encounter.period
Patient patient :: Encounter.subject
Integer patientId :: not mapped 
Set<EncounterProvider> encounterProviders :: Encounter.participant
Location location :: Encounter.location
EncounterType encounterType : not mapped
Set<Order> orders :: not mapped
Visit visit :: Encounter.partOf

 


Below shows the mapping of visit resource of OpenMRS to FHIR Encounter

Code Block
titleEncounter
Integer uuid :: n/a - goes in the URL e.g. [base]/Encounter/[encounterId]
Patient patient :: Encounter.subject
VisitType visitType :: not mapped
Concept indication :: Encounter.indication
Location location :: Encounter.location
startDatetime :: Encounter.period
Date stopDatetime :: Encounter.period
Set<Encounter> encounters :: not mapped

OpenMRS Encounter is map to FHIR composition resource

Code Block
titleComposition
Integer uuid :: not mapped
Date encounterDatetime :: Composition.date
Patient patient :: Encounter.subject
Integer patientId :: not mapped 
Set<EncounterProvider> encounterProviders :: Composition.author
Location location :: Composition.section
EncounterType encounterType : not mapped
Set<Order> orders :: not mapped
Visit visit :: not mapped

Set<Obs> obs :: Composition.section