CH EPR FHIR (R4)
4.0.0-ci-build - DSTU3 Switzerland flag

CH EPR FHIR (R4), published by eHealth Suisse. This guide is not an authorized publication; it is the continuous build for version 4.0.0-ci-build built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/ehealthsuisse/ch-epr-mhealth/ and changes regularly. See the Directory of published versions

Resource Profile: PpqmConsentTemplate301 - Mappings

Active as of 2024-04-02

Mappings for the PpqmConsentTemplate301 resource profile.

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

PpqmConsentTemplate301
ConsentPolicySet
   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

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

PpqmConsentTemplate301
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)

PpqmConsentTemplate301
ConsentCON
   identifier
   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
      identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
         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
            identifierCX / EI (occasionally, more often EI maps to a resource id or a URL)
               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)

PpqmConsentTemplate301
ConsentEntity. Role, or Act, FinancialConsent
   textAct.text?
   containedN/A
   extensionN/A
   modifierExtensionN/A
   identifier.id
   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
      identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
         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
            identifiern/a, II - The Identifier class is a little looser than the v3 type II because it allows URIs as well as registered OIDs or GUIDs. Also maps to Role[classCode=IDENT]
               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)
      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)

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