Gravitate Health FHIR Implementation Guide
0.1.0 - CI Build

Gravitate Health FHIR Implementation Guide, published by Gravitate Health Project. This guide is not an authorized publication; it is the continuous build for version 0.1.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/hl7-eu/gravitate-health/ and changes regularly. See the Directory of published versions

Resource Profile: Focusedcomposition - Mappings

Active as of 2024-12-20

Mappings for the focusedcomposition resource profile.

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

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

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

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

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

Focusedcomposition
CompositionEntity, Role, or Act,Document[classCode="DOC" and moodCode="EVN" and isNormalAct()]
   textAct.text?
   containedN/A
   modifierExtensionN/A
   identifierDocument.id / Document.setId
      idn/a
      extensionn/a
      useRole.code or implied by context
      typeRole.code or implied by context
      systemII.root or Role.id.root
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
      periodRole.effectiveTime or implied by context
      assignerII.assigningAuthorityName but note that this is an improper use by the definition of the field. Also Role.scoper
   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
   category.outboundRelationship[typeCode="COMP].target[classCode="LIST", moodCode="EVN"].code
   subject.participation[typeCode="SBJ"].role[typeCode="PAT"]
   encounterunique(highest(./outboundRelationship[typeCode="SUBJ" and isNormalActRelationship()], priorityNumber)/target[moodCode="EVN" and classCode=("ENC", "PCPR") and isNormalAct])
   date.effectiveTime[type="TS"]
   author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
   title./title
   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()]
   custodian.participation[typeCode="RCV"].role[classCode="CUST"].scoper[classCode="ORG" and determinerCode="INST"]
   relatesTo.outboundRelationship
   eventoutboundRelationship[typeCode="SUBJ"].target[classCode<'ACT']
      idn/a
      extensionn/a
      modifierExtensionN/A
      period.effectiveTime
      detail.outboundRelationship[typeCode="SUBJ"].target
   section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
      idn/a
      extensionn/a
      modifierExtensionN/A
      title./title
      code./code
      author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
      text.text
      orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
      entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
      emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
      section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]
         idn/a
         extensionn/a
         modifierExtensionN/A
         title./title
         code./code
         author.participation[typeCode="AUT"].role[classCode="ASSIGNED"]
         text.text
         orderedBy.outboundRelationship[typeCode=COMP].sequenceNumber > 1
         entry.outboundRelationship[typeCode=COMP] or .participation[typeCode=SBJ]
         emptyReason.inboundRelationship[typeCode=SUBJ,code<ListEmptyReason].value[type=CD]
         section./outboundRelationship[typeCode="COMP" and isNormalActRelationship()]/target[moodCode="EVN" and classCode="DOCSECT" and isNormalAct]

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

Focusedcomposition
CompositionClinicalDocument
   identifier.setId
   version.versionNumber
   statusn/a
   type.code
   categoryn/a
   subject.recordTarget
   encounter.componentOf.encompassingEncounter
   date.effectiveTime
   author.author.assignedAuthor
   title.title
   attester.authenticator/.legalAuthenticator
      modeimplied by .authenticator/.legalAuthenticator
      time.authenticator.time
      party.authenticator.assignedEnttty
   custodian.custodian.assignedCustodian
   relatesTo.relatedDocument
   event.documentationOf.serviceEvent
      period.effectiveTime
      detailn/a
   section.component.structuredBody.component.section
      title.title
      code.code
      author.author.assignedAuthor
      focus.subject? (CDA did not differentiate between subject and focus)
      text.text
      orderedByn/a
      entry.entry
      emptyReasonn/a
      section.component.section
         title.title
         code.code
         author.author.assignedAuthor
         focus.subject? (CDA did not differentiate between subject and focus)
         text.text
         orderedByn/a
         entry.entry
         emptyReasonn/a
         section.component.section

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

Focusedcomposition
Compositionwhen described by DocumentReference
   identifierDocumentReference.identifier
   versionDocumentReference.version
   statusDocumentReference.docStatus
   typeDocumentReference.type
   categoryDocumenttReference.category
   subjectDocumentReference.subject
   encounterDocumentReference.context
   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
   custodianDocumentReference.custodian
   relatesToDocumentReference.relatesTo
   event
      periodDocumentReference.period
      detailDocumentReference.event