Medication Scheme Implementation Guide
1.0.0 - draft Estonia flag

Medication Scheme Implementation Guide, published by TEHIK. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/TEHIK-EE/ig-ee-medication-scheme/ and changes regularly. See the Directory of published versions

Resource Profile: EETISComposition - Mappings

Draft as of 2024-01-31

Mappings for the ee-tis-composition resource profile.

Mappings for Workflow Pattern (http://hl7.org/fhir/workflow)

EETISComposition
CompositionEvent
   identifierEvent.identifier
   statusEvent.status
   typeEvent.code
   subjectEvent.subject
   dateEvent.occurrence[x]
   authorEvent.performer

Mappings for FiveWs Pattern Mapping (http://hl7.org/fhir/fivews)

EETISComposition
Compositioninfrastructure.documents
   urlFiveWs.identifier
   identifierFiveWs.identifier
   versionFiveWs.version
   statusFiveWs.status
   typeFiveWs.class
   subjectFiveWs.subject[x]
   dateFiveWs.done[x]
   authorFiveWs.author
   attester
      partyFiveWs.witness
   section

Mappings for RIM Mapping (http://hl7.org/v3)

EETISComposition
CompositionEntity, Role, or Act,Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifierDocument.id / Document.setId
   statusinterim: .completionCode="IN" & ./statusCode[isNormalDatatype()]="active"; final: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and not(./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct()]); amended: .completionCode="AU" && ./statusCode[isNormalDatatype()]="complete" and ./inboundRelationship[typeCode="SUBJ" and isNormalActRelationship()]/source[subsumesCode("ActClass#CACT") and moodCode="EVN" and domainMember("ReviseComposition", code) and isNormalAct() and statusCode="completed"]; withdrawn : .completionCode=NI && ./statusCode[isNormalDatatype()]="obsolete"
   type./code
   subject.participation[typeCode="SBJ"].role[typeCode="PAT"]
   date.effectiveTime[type="TS"]
   author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
   title./title
   note
      idn/a
      extensionn/a
      author[x]Act.participant[typeCode=AUT].role
      timeAct.effectiveTime
      textAct.text
   attester.participation[typeCode="AUTHEN"].role[classCode="ASSIGNED"]
      idn/a
      extensionn/a
      modifierExtensionN/A
      modeunique(./modeCode)
      time./time[type="TS" and isNormalDatatype()]
      party./role[classCode="ASSIGNED" and isNormalRole]/player[determinerCode="INST" and classCode=("DEV", "PSN") and isNormalEntity()] or ./role[classCode="ASSIGNED" and isNormalRole and not(player)]/scoper[determinerCode="INST" and classCode="ORG" and isNormalEntity()]
   section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      text.text
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (medicationStatementEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (medicationDispenseEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (medicationRequestEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (patientEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (medicationEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (practitionerEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (practitionerRoleEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (organizationEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (relatedPersonEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (pharmacyLocationEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      entry (deviceEntry).outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]

Mappings for CDA (R2) (http://hl7.org/v3/cda)

EETISComposition
CompositionClinicalDocument
   identifier.setId
   version.versionNumber
   statusn/a
   type.code
   subject.recordTarget
   date.effectiveTime
   author.author.assignedAuthor
   title.title
   attester.authenticator/.legalAuthenticator
      modeimplied by .authenticator/.legalAuthenticator
      time.authenticator.time
      party.authenticator.assignedEnttty
   section.component.structuredBody.component.section
      title.title
      code.code
      text.text
      orderedByn/a
      entry.entry
      entry (medicationStatementEntry).entry
      entry (medicationDispenseEntry).entry
      entry (medicationRequestEntry).entry
      entry (patientEntry).entry
      entry (medicationEntry).entry
      entry (practitionerEntry).entry
      entry (practitionerRoleEntry).entry
      entry (organizationEntry).entry
      entry (relatedPersonEntry).entry
      entry (pharmacyLocationEntry).entry
      entry (deviceEntry).entry
      emptyReasonn/a

Mappings for FHIR DocumentReference (http://hl7.org/fhir/documentreference)

EETISComposition
Compositionwhen described by DocumentReference
   identifierDocumentReference.identifier
   versionDocumentReference.version
   statusDocumentReference.docStatus
   typeDocumentReference.type
   subjectDocumentReference.subject
   dateDocumentReference.content.attachment.date, DocumentReference.date
   authorDocumentReference.author
   titleDocumentReference.description, DocumentReference.content.attachment.title
   attesterDocumentReference.attester
      modeDocumentReference.attester.mode
      timeDocumentReference.attester.time
      partyDocumentReference.attester.party