New Zealand Rheumatic Fever FHIR Implementation Guide, published by Te Whatu Ora. This guide is not an authorized publication; it is the continuous build for version 1.0.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/tewhatuora/fhir-rheumatic-fever/ and changes regularly. See the Directory of published versions
Rheumatic Fever Data Models
FHIR data models (pilot phase)
This section provides an overview of the design of the FHIR data representations that authorized applications can use to record and interchange rheumatic fever information.
FHIR resource model
Rheumatic fever FHIR resource data model Rheumatic fever FHIR interchangeable data «FHIR R4B» :APPOINTMENT Represents planned encounters. In a typical RF appointment, a patient will get preventative medication (secondary prophylaxis). text: appointment description status: #booked | #arrived serviceCategory $sct#58718002 "Rheumatic fever (disorder)" serviceType $sct#360271000 "Prophylaxis" $sct#772071006 "Referral to dentist" .. start: instant (UTC) end: instance (UTC) participant: Reference(Practitioner) «RF profile » :CAREPLAN Captures patient planned medication and next appointment identifier[NHI] (official): NHI identifier[case] (usual): case Id (RFCCS) category: $sct#320721000210102 "Rheumatic fever secondary prevention care plan" onHoldReason : string closureReason : string lifelongSecondaryProphylaxis : boolean extensions «RF profile » :PATIENT Captures patient registration detail Extends NzPatient to represent whanau care roleplayers. identifier[NHI] (official): NHI name: HumanName birthDate: date gender: code telecom: ContactPoint[] address: Address[] ethnicity 0..*: code[] nzCitizen: code patient.contact[]. whanauMemberCareRole : Coding whanauMemberCareRelationship : string whanauMemberCarePrimary : boolean interpreter-required: boolean (extensions) «RF profile » :CARETEAM Teams of RF secondary prevention participants (practitioners, providers) category : $sct320741000210108 "Secondary Prophylaxis Team" participant[].role «FHIR R4B» :CONSENT Represents patient consent or opt-out for treatment | data sharing. status: #proposed | active scope: #patient-privacy | #treatment dateTime: date provision: .. period: date range policy: uri «RF profile » :CONDITION Summery of RF patient condition. Profile extends NzRFCOND (NZ Base) identifier: RFCCS condition id category: $sct#58718002 "Rheumatic fever (disorder)" code: SNOMED diagnosis code severity: #Mild|Moderate|Severe clinicalStatus: #active etc. recordedDate: date rhdSeverity : code (bound) diagnosticCertainty : code (bound) assessmentDate : date (UTC) symptomaticAtDiagnosis : code (bound) extensions «FHIR R4B» :MEDICATION code: SNOMED (brand) ingredient: SNOMED (type) «RF profile » :MEDICATIONREQUEST Medication that is planned for RF prevention status: code medicationRequestStatus intent: #plan authoredOn: dateTime (UTC) validityPeriod: dateTime (UTC) dosageInstruction: route: SNOMED site: SNOMED doseAndRate additionalInstruction: SNOMED [frequency] medicationFrequency : code (bound) extensions «RF profile » RF diagnosis group :OBSERVATION Contains diagnostic detail eg. Jones Criteria identifier: RFCCS obseervation id status: #final code: SNOMED effectiveDateTime: datetime components 0..* code: SNOMED value[x]: .. dataAbsentReason: code interpretation: code «FHIR R4B» :MEDICATIONSTATEMENT 1) Detail of benzathine given. 2) Strength of lignocaine given. status: #completed category: $sct#58718002 "Rheumatic fever (disorder)" effectiveDatePeriod: UTC dateTime note: brand of benzathine used «FHIR R4B» :QUESTIONNAIRE (definitional) Canonical instances covering: Medication Allergies Medications and Follow-up Planning Guidance Patient Goals and Preferences Secondary Prophylaxis Health Assessment «FHIR R4B» :QUESTIONNAIRERESPONSE Collects form data items as defined by a Questionnaire value[x]: item[].answer «FHIR R4B» :ENCOUNTER Context of patient's secondary prophylaxis treatment. status: #finished type: $sct#58718002 "Rheumatic fever (disorder)" serviceType $sct#360271000 "Prophylaxis" participant[]: Reference[Patient, Practitioner] period: datetime range location: Ref(HPI facility) «FHIR R4B» :ENCOUNTER Context of patient's diagnosis type: $sct#58718002 "Rheumatic fever (disorder)" location: facility / home / school «external data» RFCCS (Salesforce) Salesforce logical ref logical id: CarePlanId «external data» Episurv Notifiable disease surveillance logical id: Episurv number «logical ref» Patient (NHI) logical id: NHI «logical ref» HPI logical identifier formats: NNXXXX - practitioner CPNs GXXNNN-C HPI Org Id - orgs FXXNNN-C HPI Facility Id - locs <> .supportingInformation 1 .appointment 1 .addresses <> .supportingInfo basedOn 1 .activity. reference basedOn .Identifier[NationalSystem] 1 .careTeam .activity. reference CarePlan. author identifies Lead Provider .subject 1 .Identifier[NationalSystem] 1 * .evidence[] .detail .basedOn .encounter 1 .patient 1 .performer 1 .serviceProvider 1 .medication[x] 1 .requester 1 .subject 1 ".context" 1 1 .basedOn .medication Reference 1 .hasMember .encounter .questionnaire .Identifier[NHI] 1 Notes - Model of data types (FHIR resources) and relations (FHIR references) for national rheumatic fever FHIR data. - Only attributes which are keying/defining are shown. - Arrows show direction of FHIR reference. - Solid/open dots indicate mandatory/optional data elements. - element: value indicates element and value which scopes RF data access (SMART scopes) Key to resource type colour colour stereotype ghost white Standard FHIR resource in TWO Shared Care API salmon Profiled FHIR resource orange red Canonical shared resource defined by TWO sky blue Logical identifier reference to records in other national systems Health NZ/Te Whatu Ora FHIR data model re-generated 26/09/2024
FHIR careplan instance lifecycle
Typical sequence of rheumatic fever FHIR resource instance creation patient registration care plan setup Medication planning Secondary prophylaxis activity recording ongoing care coordination Consent created and linked Consent CarePlan -> #draft Initial diagnosis completed Condition (updated) CareTeam defined CareTeam Allergies recorded Questionnaire type A Response Medications & Follow-up Guidance captured Questionnaire type B Response Patient / Whanau Goals & Prefs recorded Questionnaire type C Response when all parts ready Plan a period of medication (say 2023 ) Medication Request 2023 Medication (Benzathine) Medication planned for a sufficient period at a set frequency (say every 28 days) Book appointments Appointment (planned encounter) July 11 #booked Appointment (planned encounter) August 8 2023 #booked Appointment (planned encounter) Sept. 5 2023 #booked more appointments... MedicationRequest -> #active & SP/follow-up appointments booked First appointment data capture (say August 2023 ) Medication Statement (aug) Questionnaire type D Response (aug) Encounter of aug appointment Appointment (aug) -> #fulfilled Second appointment data capture (say September 2023 ) Medication Statement (sept) Questionnaire type D Response (sept) Encounter of sept appointment Appointment (sept) -> #fulfilled Similar further instance sets ... FHIR resources accumulate as rheumatic fever patient care continues. CarePlan #active CarePlan #on-hold CarePlan cancelled ( #revoked ) CarePlan closed ( #completed ) NzPatient created/updated NzPatient CarePlan created CarePlan Condition On registration, CarePlan moves into #draft state. Other sector health applications can interpret from this that a patient is "registered" with an NZ RF Secondary Prevention Service. CarePlan -> #active Patient not registered /no FHIR records. Patient has an existing FHIR representation. ok ok ok Health NZ/Te Whatu Ora. Generated from PlantUML source on 26/09/2024
Secondary prophylaxis medication planning and encounter recording
Secondary prophylaxis medication planning and recording instance model Activity resources in the CarePlan «RF profile» : MEDICATIONREQUEST planned Benzathine med. text: "Benzathine medication plan 2023" status: #active medicationReference: Ref(benzathine medication) dosageInstruction -route:SNOMED -site:SNOMED -additionalInstruction [frequency] -doseAndRate:Dosage performer: Ref(Practitioner) validityPeriod: eg. 2023-01 to 2023-12 medicationFrequency: Every twenty eight days - extension - «FHIR R4B» : MEDICATIONREQUEST planned pain relief text: "Lignocaine at 1% strength" status: #active medicationCodeableConcept: NZMT dosageInstruction.doseAndRate: Dosage validityPeriod: {same period as Benzathine plan} August 2023 (latest) appointment : APPOINTMENT identifier: type #rfccs-careplanactivity-id status: #fulfilled start: 2023-08-08T00:00:00Z serviceType $sct#360271000 "Prophylaxis" supportingInfo: service provider Ref(HPI org) participant: Reference(Practitioner) next appointment (planned encounter) : APPOINTMENT identifier: type #rfccs-careplanactivity-id status: #booked start: 2023-09-05T00:00:00Z serviceType $sct#360271000 "Prophylaxis" supportingInfo: service provider Ref(HPI org) participant: Reference(Practitioner) August 2023 encounter : ENCOUNTER identifier: type #rfccs-clinicalencounter-id status: #finished class: #AMB serviceType $sct#360271000 "Prophylaxis" period.start: 2023-08-08T00:00:00Z participant: Ref(Practitioner) serviceProvider: Ref(Organisation) August 2023 benzathine given : MEDICATIONSTATEMENT status: #completed effectiveDateTime: 2023-08-08T00:00:00Z dosage: Dosage // actual dose quantity,site,route August 2023 pain relief given : MEDICATIONSTATEMENT status: #completed effectiveDateTime: 2023-08-08T00:00:00Z dosage: Dosage // actual dose quantity,site,route health assessment responses : QUESTIONNAIRERESPONSE questionnaire: Canonical(SPHA) status: #completed authored: 2023-08-08T00:00:00Z item.*: responses benzathine : MEDICATION Planned secondary prophylaxis medication brand and ingredient benzathine dose planned 25 mg Medication route (SNOMED) #78421000 -Intramuscular route #26643006 -Oral route #34206005 -Subcutaneous route Medication site (SNOMED) #78333006 -Ventrogluteal #206007 -Dorsogluteal #1403006 -Vastus lateralis medication ingredient NZMT ..6105 -benzathine penicillin ..6107 -amoxicillin ..6109 -penicillin VK ..6100 -erythromycin Benzathine brand NZMT ..6108 -Bicillin L-A tbc -Tardocillin tbc -Lentocillin lignocaine strength NZMT 1074...6105 -lidocaine hydrochloride anhydrous 0.5% 1074...6110 -lidocaine hydrochloride anhydrous 1% 1074...6101 -lidocaine hydrochloride anhydrous 2% lignocaine dose planned 0.5 ml contained basedOn contained .medicationCodeableConcept .medication Codeable Concept .Dosage .doseAndRate context encounter supportingInfo appointment Dosage.route Dosage.site Dosage.doseAndRate medicationReference basedOn medicationReference basedOn code ingredient This model shows a) medication planned in a patient's care plan (including lignocaine for pain relief) b) records of medication actually administered for the patient's august encounter c) two appointments representing the finished (august) and next planned encounters Notes 1) Arrows indicate direction of FHIR reference 2) Object colour shading as per Data Dictionary mapping. FHIR resource instance object model
Secondary prophylaxis appointment planning and recording states model
Secondary prophylaxis recording: FHIR instance lifecycles Planned Appointment PROPOSED FULFILLED CANCELLED ENTERED-IN-ERROR Patient's next SP treatment due date is represented in FHIR by an Appointment instance in their CarePlan secondary prophylaxis treatment records Encounter MedicationStatement QuestionnaireResponse FINISHED ENTERED-IN-ERROR COMPLETED ENTERED-IN-ERROR COMPLETED ENTERED-IN-ERROR After the treatment encounter takes place, 3 more FHIR resources record the details. Typically these three instances are created directly in their terminal state. state colour meaning lime green starting state (if applicable) orange terminal state (if applicable) Health NZ/Te Whatu Ora. Generated from PlantUML source on 26/09/2024
Other care planning and encounter recording
Follow-up appointments planning and recording (instance model) Activity resources in the CarePlan planned DENTAL appointment : APPOINTMENT identifier: type #rfccs-careplanactivity-id (RFCCS) status: #booked start: 2024-07-04 serviceType: #772071006 | Referral to dentist (procedure) supportingInfo: dental service provider Ref(org by name) Cancelled specialist appointment : APPOINTMENT identifier: type #rfccs-careplanactivity-id (RFCCS) status: #cancelled start: 2024-09-05 serviceType: #103696004 | Patient referral to specialist supportingInfo: Specialist Ref(org by name) cancelationReason: #410543007 | Did not attend (qualifier value) Completed ECHO cardiogram encounter : APPOINTMENT identifier: type #rfccs-careplanactivity-id (RFCCS) status: #fulfilled start: 2024-05-16 serviceType: #40701008 | Echocardiography (procedure) supportingInfo: cardiology specialist provider Ref(org by name) ECHO encounter : ENCOUNTER identifier: type #rfccs-clinicalencounter-id (RFCCS) status: #finished period: 2023-08-08 participant: Ref(Practitioner) serviceProvider: Ref(Organisation) «FHIR R4B» Info from encounter :OBSERVATION identifier: type #rfccs-observation-id (RFCCS) status: #final code: #371541002 | Provider comment report (record artifact) components 3..3 (SNOMED-coded) +notes: text +plan for next appointment: text +file uploaded: TBC Service Type SNOMED #103696004 -Patient referral to specialist (procedure) #40701008 -Echocardiography (procedure) #772071006 -Referral to dentist (procedure) #225340009 -Housing assessment (procedure) #301631000210107 -Provision for cultural support (procedure) #308440001 -Referral to social worker (procedure) #351621000210102 -Referral to sexual health service (procedure) .supportingInfo .appointment .serviceType .serviceType .serviceType .encounter This model shows different kinds of non-secondary-prophylaxis appointment a) a planned dental appointment b) a specialist appointment that was planned but was then cancelled c) a completed ECHO cardiography appt - details captured in an Encounter + Observation Notes 1) Arrows indicate direction of FHIR reference 2) Object colour shading as per Data Dictionary mapping. FHIR resource instance object model
Enhanced diagnosis representation
Detailed diagnosis representation (instance model) Condition and diagnosis instances linked from RF CarePlan «RF profile» Summary of condition : CONDITION identifier (usual): code: #195528001 Acute rheumatic fever severity: #mild | #moderate | #severe clinicalStatus: #active etc. recordedDate: date of diagnosis onsetDateTime: date of condition onset rhdSeverity : code (in dedicated ValueSet) diagnosticCertainty : code (in dedicated ValueSet) assessmentDate : date of RHD severity assess.(UTC) symptomStatusAtDiagnosis : SNOMED extensions «FHIR R4B» context of diagnosis:ENCOUNTER Tracks context of patient's diagnosis. status: #finished class: #AMB serviceType : context of diagnosis (SNOMED) period.start: date of diagnosis participant[0]: Reference[Patient] location[0]: hospital or service name location[1]: patient home address when diagnosed location[2]: school when diagnosed «RF profile» ECHO assessment :OBSERVATION identifier: type #rfccs-observation-id (RFCCS) status: #final effectiveDateTime: datetime code: 439238004 Echocardiography test interpretation components 0..* +value[x]: result or measurement +dataAbsentReason: code +interpretation: code «RF profile» Jones Criteria :OBSERVATION identifier: type #rfccs-observation-id (RFCCS) status: #final effectiveDateTime: datetime code: 447541000210107 New Zealand Jones Criteria Assessment components 0..* +value[x]: result or measurement +dataAbsentReason: code +interpretation: code «RF profile» Strep primary evidence :OBSERVATION identifier: type #rfccs-observation-id (RFCCS) status: #final effectiveDateTime: datetime code: 448011000210101 Evidence of preceding Streptococcus group A infection components 0..* +value[x]: result or measurement +dataAbsentReason: code +interpretation: code «RF profile» Strep repeat testing :OBSERVATION identifier: type #rfccs-observation-id (RFCCS) status: #final effectiveDateTime: datetime code: 448011000210101 Evidence of preceding Streptococcus group A infection components 0..* +value[x]: result or measurement +dataAbsentReason: code +interpretation: code Diagnostic context SNOMED ( Encounter.serviceType ) #22232009 -Hospital (environment) #257585005 -Clinic (environment) #365856005 -Screening finding (finding) #261665006 -Unknown (qualifier value) Jones criteria SNOMED #703119002 -Carditis due to rheumatic fever (disorder) #200951007 -Erythema marginatum in acute rheumatic fever (disorder) #11211002 -Migratory polyarthritis (disorder) #165468009 -Erythrocyte sedimentation rate .. #.. -Other Jones criteria.. careplan : CAREPLAN If diagnosis changes the patient's condition, a new version of this instance structure is created for the revised condition and diagnosis. .addresses 1 1..* .encounter evidence[0].detail 1 evidence[1].detail 1 evidence[2].detail 1 At most one repeat instance per primary Observation hasMember 1 derivedFrom 0..1 .serviceType .component.code This model shows how a rheumatic fever patient's condition and diagnosis are represented in FHIR. Note that multiple FHIR Observation instances are used, each representing a logical of similar diagnosis attributes. As FHIR Observation instances MUST be coded ( .code ) and only SNOMED codes defined by a ValueSet will be used for this. Each Observation instance has: - An overall SNOMED code for the class of observation data points, and - All its .component[] values SNOMED-coded, and - Refers to the diagnosis encounter via its .encounter element Notes 1) Arrows indicate direction of FHIR reference 2) Object colour shading as per Data Dictionary mapping. FHIR resource instance object model Health NZ/Te Whatu Ora. Generated from PlantUML source on 26/09/2024