FHIR timing in HL7v3 CDA substanceAdministration.effectiveTime
Volgens issue MP-347 moet het mogelijk worden om in HL7v3 CDA substanceAdministration.effectiveTime te kiezen voor (de reeds bestaande) SXPR_TS en het FHIR timing datatype. Aanleiding hiervoor is MP 9 2.0.0, het gaat om toedieningsschema’s.
1 FHIR versie: R4
Alle versies van FHIR zitten in 1 namespace. Als je nu FHIR versie x aankoppelt, kun je later niet goed naar FHIR versie y, omdat je niet aan een instance kunt zien wat het “is” Gekozen is om gebruik te maken van FHIR 4.0.1. MP 9 2.0.0 is gebaseerd op zibs-2020 en zibs-2020 gaan in FHIR R4. Timing is normatief in FHIR 4.0.1: eventuele wijzigingen zullen backward compatible zijn.
2 Scope
De scope voor deze wijziging is toedieningsschema voor medicatiedosering vanaf MP 9 2.0.0. Alleen CDA substanceAdministration.effectiveTime heeft het nodig. Deze wijziging is daarom zo klein mogelijk: alleen toegepast op substanceAdministration.effectiveTime. Het betreft daarom géén wijziging in coreschemas. De wijziging wordt toegepast in AORTA/trunk/XML/schemas en van daaruit uitgerold naar de (onderhouds)branches van de verschillende informatiestandaarden.
3 Kardinaliteit
FHIR kent navolgende kardinaliteiten: MedicationRequest.dosageInstruction 0..* Dosage Dosage.timing 0..1 Timing CDA substanceAdministration komt overeen met dosageInstruction. substanceAdministration.effectiveTime is 0..* (dat is normaal voor GTS). effectiveTime met datatype f:Timing heeft dan voldoende aan kardinaliteit 0..1
4 Uitgangspunt: backwards compatibel
De schemawijziging moet backward compatibel zijn. Dat betekent dat instantiaties die gebruik maken van het bestaande HL7v3-datatype SXCM_TS door het schema goedgekeurd moeten blijven worden.
5 XML schema’s (XSD's)
De wijziging in het HL7v3 CDA schema behelst het maken van een choice, we gaan dus van:
<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
naar:
<xs:choice>
<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="f:effectiveTime" minOccurs="0" maxOccurs="1"/>
</xs:choice>
6 Technische toelichting
Geïmporteerd in folder schemas/fhir: FHIR 4.0.1 https://www.hl7.org/fhir/R4/fhir-codegen-xsd.zip. Wijziging: voeg xs:element effectiveTime toe in fhir-base.xsd voor reference. HL7v3 xsd aangepast, POCD_MT000040NL_extended.xsd aangepast. Import toegevoegd: <xs:import namespace="http://hl7.org/fhir" schemaLocation="fhir/fhir-base.xsd"/>
Wijziging:
<xs:complexType name="POCD_MT000040.SubstanceAdministration">
<xs:sequence>
....
<xs:choice minOccurs="0" maxOccurs="1">
<xs:element name="effectiveTime" type="SXCM_TS" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="f:effectiveTime" minOccurs="0" maxOccurs="1"/>
</xs:choice>
....
</xs:sequence>
</xs:complexType>
7 Voorbeelden
7.1 1 maal per dag
In commentaar de HL7v3 GTS versie.