FHIR:V1.0 FHIR Profiling Guidelines R4 examples: verschil tussen versies

Uit informatiestandaarden
Naar navigatie springen Naar zoeken springen
Regel 3: Regel 3:
 
This page provides guidance on how slicing is expected in R4 profiles that are created by Nictiz. Examples are provided in XML format but could have been in JSON format as well.  
 
This page provides guidance on how slicing is expected in R4 profiles that are created by Nictiz. Examples are provided in XML format but could have been in JSON format as well.  
  
{{Collapse top|Slice definition to map a semantic code.|left=yes}}
+
{{Collapse top|Slice definition to specify 1 or more variations of a concept.|left=yes}}
 
+
The {{fhir:identifier}} element is sliced to provide the definition for at least one specific identifier.
Semantic code provides meaning to the resource, e.g. a semantic code can be used to indicate that a {{fhir|MedicationRequest}} represents a zib MedicationAgreement. These semantic codes often need to be present. To also allow other codes to be used slicing is used.
 
  
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<element id="Observation.code.coding">
+
<element id="Patient.identifier">
     <path value="Observation.code.coding"/>
+
     <path value="Patient.identifier"/>
 
     <slicing>
 
     <slicing>
 
         <discriminator>
 
         <discriminator>
Regel 17: Regel 16:
 
         <rules value="open"/>
 
         <rules value="open"/>
 
     </slicing>
 
     </slicing>
    <min value="1"/>
 
 
</element>
 
</element>
<element id="Observation.code.coding:drugUseCode">
+
<element id="Patient.identifier:BSN">
     <path value="Observation.code.coding"/>
+
     <path value="Patient.identifier"/>
     <sliceName value="drugUseCode"/>
+
     <max value="1" />
     <min value="1"/>
+
     <patternIdentifier>
    <max value="1"/>
+
        <!--<use value="official"/> -->
    <patternCoding>
+
         <system value="http://fhir.nl/fhir/NamingSystem/bsn"/>
         <system value="http://snomed.info/sct"/>
+
     </patternIdentifier>
        <code value="228366006"/>
 
     </patternCoding>
 
 
</element>
 
</element>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
{{Collapse bottom}}
 +
  
 +
{{Collapse top|Slice definition to map semantic codes to a repeating element.|left=yes}}
  
<syntaxhighlight lang="xml">
+
Semantic code provides meaning to a part of or complete resource, e.g. a semantic code can be used to indicate that a {{fhir|MedicationRequest}} represents a zib MedicationAgreement. These semantic codes often need to be present. To also allow other codes to be used they are profiled as patterns.
        <element id="Observation.component">
 
            <path value="Observation.component" />
 
            <slicing>
 
                <discriminator>
 
                  <type value="value"/>
 
                  <path value="code"/>
 
                </discriminator>
 
                <rules value="open" />
 
            </slicing>
 
        </element>
 
        <element id="Observation.component:TypeOfTobaccoUsed">
 
            <path value="Observation.component" />
 
            <sliceName value="TypeOfTobaccoUsed" />
 
            <max value="1" />
 
        </element>
 
        <element id="Observation.component:TypeOfTobaccoUsed.code">
 
            <path value="Observation.component.code" />
 
            <min value="1"/>
 
            <patternCodeableConcept>
 
                <coding>
 
                    <system value="http://snomed.info/sct" />
 
                    <code value="53661000146106" />
 
                </coding>
 
            </patternCodeableConcept>
 
        </element>
 
</syntaxhighlight>
 
{{Collapse bottom}}
 
  
{{Collapse top|Slice definition to specify 1 or more variations of a concept.|left=yes}}
 
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<element id="Patient.identifier">
+
<element id="Observation.component">
     <path value="Patient.identifier"/>
+
     <path value="Observation.component" />
 
     <slicing>
 
     <slicing>
 
         <discriminator>
 
         <discriminator>
            <type value="value"/>
+
          <type value="value"/>
            <path value="$this"/>
+
          <path value="code"/>
 
         </discriminator>
 
         </discriminator>
         <rules value="open"/>
+
         <rules value="open" />
 
     </slicing>
 
     </slicing>
 
</element>
 
</element>
<element id="Patient.identifier:BSN">
+
<element id="Observation.component:TypeOfTobaccoUsed">
     <path value="Patient.identifier"/>
+
     <path value="Observation.component" />
     <patternIdentifier>
+
     <sliceName value="TypeOfTobaccoUsed" />
        <!--<use value="official"/> -->
+
    <max value="1" />
         <system value="http://fhir.nl/fhir/NamingSystem/bsn"/>
+
</element>
     </patternIdentifier>
+
<element id="Observation.component:TypeOfTobaccoUsed.code">
 +
    <path value="Observation.component.code" />
 +
    <min value="1"/>
 +
    <patternCodeableConcept>
 +
         <coding>
 +
            <system value="http://snomed.info/sct" />
 +
            <code value="53661000146106" />
 +
        </coding>
 +
     </patternCodeableConcept>
 
</element>
 
</element>
 
</syntaxhighlight>
 
</syntaxhighlight>
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top|Slice definition to allow multiple ValueSet bindings.|left=yes}}
+
{{Collapse top|Slice definition that combines the use of a semantic code and a HCIM concept.|left=yes}}
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<element id="Procedure.code.coding">
+
<element id="Observation.category">
     <path value="Procedure.code.coding"/>
+
     <path value="Observation.category" />
 
     <slicing>
 
     <slicing>
 
         <discriminator>
 
         <discriminator>
             <type value="value"/>
+
             <type value="value" />
             <path value="$this"/>
+
             <path value="$this" />
 
         </discriminator>
 
         </discriminator>
         <rules value="open"/>
+
         <rules value="open" />
 
     </slicing>
 
     </slicing>
 +
    <min value="1" />
 +
</element>
 +
<element id="Observation.category:laboratoryTestResultCode">
 +
    <path value="Observation.category" />
 +
    <sliceName value="laboratoryTestResultCode" />
 +
    <min value="1" />
 +
    <max value="1" />
 +
    <patternCodeableConcept>
 +
        <coding>
 +
            <system value="http://snomed.info/sct" />
 +
            <code value="49581000146104" />
 +
        </coding>
 +
    </patternCodeableConcept>
 
</element>
 
</element>
<element id="Procedure.code.coding:verrichtingTypeCodelijst">
+
<element id="Observation.category:ResultType">
     <path value="Procedure.code.coding"/>
+
     <path value="Observation.category" />
     <sliceName value="verrichtingTypeCodelijst"/>
+
     <sliceName value="resultType" />
 +
    <max value="1" />
 
     <binding>
 
     <binding>
         <strength value="required"/>
+
         <strength value="required" />
         <description value="The name of the procedure using the Verrichtingenthesaurus DHD."/>
+
         <description value="ResultaatTypeCodelijst" />
         <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.2--20171231000000"/>
+
         <valueSetReference>
 +
            <reference value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.13.1.1--20171231000000" />
 +
            <display value="ResultaatTypeCodelijst" />
 +
        </valueSetReference>
 
     </binding>
 
     </binding>
 
</element>
 
</element>
Regel 136: Regel 132:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top|Slice definition that combines the use of a semantic code and a HCIM concept.|left=yes}}
+
 
 +
{{Collapse top|Slice definition to allow multiple ValueSet bindings. |left=yes}}
 +
'''Note:'''only applies in rare circumstances when different requirements are present for each ValueSet.
 +
 
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
<element id="Observation.category">
+
<element id="Procedure.code.coding">
     <path value="Observation.category" />
+
     <path value="Procedure.code.coding"/>
 
     <slicing>
 
     <slicing>
 
         <discriminator>
 
         <discriminator>
             <type value="value" />
+
             <type value="value"/>
             <path value="$this" />
+
             <path value="$this"/>
 
         </discriminator>
 
         </discriminator>
         <rules value="open" />
+
         <rules value="open"/>
 
     </slicing>
 
     </slicing>
    <min value="1" />
 
 
</element>
 
</element>
<element id="Observation.category:laboratoryTestResultCode">
+
<element id="Procedure.code.coding:verrichtingTypeCodelijst">
     <path value="Observation.category" />
+
     <path value="Procedure.code.coding"/>
    <sliceName value="laboratoryTestResultCode" />
+
     <sliceName value="verrichtingTypeCodelijst"/>
    <min value="1" />
 
    <max value="1" />
 
    <patternCodeableConcept>
 
        <coding>
 
            <system value="http://snomed.info/sct" />
 
            <code value="49581000146104" />
 
        </coding>
 
    </patternCodeableConcept>
 
</element>
 
<element id="Observation.category:ResultType">
 
    <path value="Observation.category" />
 
     <sliceName value="resultType" />
 
    <max value="1" />
 
 
     <binding>
 
     <binding>
         <strength value="required" />
+
         <strength value="required"/>
         <description value="ResultaatTypeCodelijst" />
+
         <description value="The name of the procedure using the Verrichtingenthesaurus DHD."/>
         <valueSetReference>
+
         <valueSet value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.14.1.2--20171231000000"/>
            <reference value="http://decor.nictiz.nl/fhir/ValueSet/2.16.840.1.113883.2.4.3.11.60.40.2.13.1.1--20171231000000" />
 
            <display value="ResultaatTypeCodelijst" />
 
        </valueSetReference>
 
 
     </binding>
 
     </binding>
 
</element>
 
</element>
Regel 177: Regel 159:
 
{{Collapse bottom}}
 
{{Collapse bottom}}
  
{{Collapse top|Slice definition for multiple mapped concepts to one element that are discriminated by the conformance to a profile in a referenced resource.|left=yes}}
+
{{Collapse top|Slice definition for multiple mapped concepts to one element that are discriminated by the conformance to a profile |left=yes}}
 +
'''Note:''' try to avoid profile type discriminators as they are more costly to perform by a validator. This slicing definition is discriminated based on the conformance of the target resource to a profile. In this case, the path needs to include the resolve() function to indicate to the validator that is should resolve the reference.
 +
 
 
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
 
<element id="DiagnosticReport.result">
 
<element id="DiagnosticReport.result">

Versie van 25 jan 2021 17:09

Slice examples in XML

This page provides guidance on how slicing is expected in R4 profiles that are created by Nictiz. Examples are provided in XML format but could have been in JSON format as well.