CH EPR PPQm (R4)
2.0.0 - draft Switzerland flag

This page is part of the CH EPR PPQm (R4) (v2.0.0: DSTU 2 Draft) based on FHIR (HL7® FHIR® Standard) R4. This is the current published version. For a full list of available versions, see the Directory of published versions

Resource Profile: PpqmConsent - Mappings

Active as of 2023-12-20

Mappings for the PpqmConsent resource profile.

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

PpqmConsent
ConsentEvent
   identifierEvent.identifier
   identifier (policySetId)Event.identifier
   identifier (templateId)Event.identifier
   statusEvent.status
   categoryEvent.code
   patientEvent.subject

Mappings for HL7 v2 Mapping (http://hl7.org/v2)

PpqmConsent
ConsentCON
   identifier
      useN/A
      typeCX.5
      systemCX.4 / EI-2-4
      valueCX.1 / EI.1
      periodCX.7 + CX.8
      assignerCX.4 / (CX.4,CX.9,CX.10)
   identifier (policySetId)
      typeCX.5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      valueCX.1 / EI.1
   identifier (templateId)
      typeCX.5
         codingC*E.1-8, C*E.10-22
         textC*E.9. But note many systems use C*E.2 for this
      valueCX.1 / EI.1
   statusHL7 Table 0498 - Consent Status
   scope
      codingC*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   categoryHL7 Table 0497 - Consent Type
      codingC*E.1-8, C*E.10-22
      textC*E.9. But note many systems use C*E.2 for this
   patient
      identifier
         systemCX.4 / EI-2-4
         valueCX.1 / EI.1
   policyRule
      codingC*E.1-8, C*E.10-22
         systemC*E.3
         codeC*E.1
         displayC*E.2 - but note this is not well followed
      textC*E.9. But note many systems use C*E.2 for this
   provision
      period
         startDR.1
         endDR.2
      actor
         role
            codingC*E.1-8, C*E.10-22
               systemC*E.3
               versionC*E.7
               codeC*E.1
               displayC*E.2 - but note this is not well followed
               userSelectedSometimes implied by being first
            textC*E.9. But note many systems use C*E.2 for this
         reference
            identifier
               typeCX.5
                  codingC*E.1-8, C*E.10-22
                     systemC*E.3
                     codeC*E.1
                     displayC*E.2 - but note this is not well followed
               systemCX.4 / EI-2-4
               valueCX.1 / EI.1
      purpose
         systemC*E.3
         versionC*E.7
         codeC*E.1
         displayC*E.2 - but note this is not well followed
         userSelectedSometimes implied by being first

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

PpqmConsent
ConsentEntity. Role, or Act, FinancialConsent
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
      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
   identifier (policySetId).id
      idn/a
      extensionn/a
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
   identifier (templateId).id
      idn/a
      extensionn/a
      typeRole.code or implied by context
         idn/a
         extensionn/a
         codingunion(., ./translation)
         text./originalText[mediaType/code="text/plain"]/data
      valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
   status.statusCode
   scope
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   categoryCNTRCT
      idn/a
      extensionn/a
      codingunion(., ./translation)
      text./originalText[mediaType/code="text/plain"]/data
   patientRole
      idn/a
      extensionn/a
      identifier.identifier
         idn/a
         extensionn/a
         systemII.root or Role.id.root
         valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
   policyRule
      idn/a
      extensionn/a
      codingunion(., ./translation)
         idn/a
         extensionn/a
         system./codeSystem
         code./code
         displayCV.displayName
      text./originalText[mediaType/code="text/plain"]/data
   provision
      idn/a
      extensionn/a
      modifierExtensionN/A
      period
         idn/a
         extensionn/a
         start./low
         end./high
      actor
         idn/a
         extensionn/a
         modifierExtensionN/A
         role
            idn/a
            extensionn/a
            codingunion(., ./translation)
               idn/a
               extensionn/a
               system./codeSystem
               version./codeSystemVersion
               code./code
               displayCV.displayName
               userSelectedCD.codingRationale
            text./originalText[mediaType/code="text/plain"]/data
         reference
            idn/a
            extensionn/a
            identifier.identifier
               idn/a
               extensionn/a
               typeRole.code or implied by context
                  idn/a
                  extensionn/a
                  codingunion(., ./translation)
                     idn/a
                     extensionn/a
                     system./codeSystem
                     code./code
                     displayCV.displayName
               systemII.root or Role.id.root
               valueII.extension or II.root if system indicates OID or GUID (Or Role.id.extension or root)
            displayN/A
      purpose
         idn/a
         extensionn/a
         system./codeSystem
         version./codeSystemVersion
         code./code
         displayCV.displayName
         userSelectedCD.codingRationale

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

PpqmConsent
Consent
   identifierFiveWs.identifier
   identifier (policySetId)FiveWs.identifier
   identifier (templateId)FiveWs.identifier
   statusFiveWs.status
   categoryFiveWs.class
   patientFiveWs.subject[x], FiveWs.subject

Mappings for CH:PPQ XACML 2.0 Policy Set (http://docs.oasis-open.org/xacml/2.0)

PpqmConsent
ConsentPolicySet
   identifier
      value/PolicySet/@PolicySetId
   patient
      identifier
         system/PolicySet/Target/Resources/Resource/ResourceMatch/AttributeValue/InstanceIdentifier/@root
         value/PolicySet/Target/Resources/Resource/ResourceMatch/AttributeValue/InstanceIdentifier/@extension
   policyRule
      coding
         code/PolicySet/PolicySetIdReference
   provision
      period
         start/PolicySet/Target/Environments/Environment/EnvironmentMatch[@MatchId='urn:oasis:names:tc:xacml:1.0:function:date-less-than-or-equal']/AtributeValue
         end/PolicySet/Target/Environments/Environment/EnvironmentMatch[@MatchId='urn:oasis:names:tc:xacml:1.0:function:date-greater-than-or-equal']/AtributeValue
      actor
         role
            coding
               system/PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xacml:2.0:subject:role']/AttributeValue/CodedValue/@codeSystem
               code/PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xacml:2.0:subject:role']/AttributeValue/CodedValue/@code
         reference
            identifier
               type
                  coding
                     code/PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xacml:1.0:subject:subject-id-qualifier']/AttributeValue

if NOT equal to 'urn:oasis:names:tc:xspa:1.0:subject:organization-id'

               value/PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xacml:1.0:subject:subject-id']/AttributeValue, /PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xspa:1.0:subject:organization-id']/AttributeValue

if identifier.type is NOT equal to 'urn:oasis:names:tc:xspa:1.0:subject:organization-id'

,

if identifier.type is equal to 'urn:oasis:names:tc:xspa:1.0:subject:organization-id'

      purpose
         system/PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xspa:1.0:subject:purposeofuse']/AttributeValue/CodedValue/@codeSystem
         code/PolicySet/Target/Subjects/Subject/SubjectMatch[SubjectAttributeDesignator/@AttributeId='urn:oasis:names:tc:xspa:1.0:subject:purposeofuse']/AttributeValue/CodedValue/@code