HL7 FHIR Implementation Guide: ZM-Core Release 1 - Zambia
0.1.0 -
HL7 FHIR Implementation Guide: ZM-Core Release 1 - Zambia - Local Development build (v0.1.0) built by the FHIR (HL7® FHIR® Standard) Build Tools. See the Directory of published versions
This page records the mapping derived from a source review of the SmartCare Pro API repository. The review covered entity models, controller contracts, local enumerations, laboratory and logistics integration models, authentication, and audit/synchronization fields. It did not include a production database, live API traffic, or a terminology validation exercise. The profiles below define exchange boundaries; they are not a one-for-one publication of SmartCare database tables.
| SmartCare Pro feature or data | ZM-Core exchange target | Key mapping rule |
|---|---|---|
| Client | ZMCorePatient | Use NRC, NUPN, NAPSA, under-five card, and ART numbers as typed identifiers; do not use them interchangeably. |
| UserAccount and facility access | ZMCorePractitioner and ZMCorePractitionerRole | Exchange the person separately from each role, organization, service, and location assignment. |
| Facility, Department, ServicePoint, Ward, and Bed | ZMCoreOrganization, ZMCoreHealthcareService, and ZMCoreLocation | Resolve Facility Master, HMIS, and DISA codes through governed identifier namespaces and the national facility registry. |
| Encounter, Interaction, VisitDetail, admission, and discharge | ZMCoreEncounter | Preserve encounter type, time, participants, service provider, and location as coded/reference data rather than display strings. |
| Appointment | ZMCoreAppointment | Translate completed and cancelled booleans into one FHIR appointment status and reference the patient and responsible actors. |
| IdentifiedAllergy and AllergicDrug | ZMCoreAllergyIntolerance | Map severity to reaction severity; map the substance or product to a governed clinical terminology. |
| ImmunizationRecord and VaccineDose | ZMCoreImmunization | Retain vaccine, dose number, administration time, lot, route, location, and performer. |
| AdverseEvent following immunization | ZMCoreAdverseEvent | Represent each event with coded manifestations and a reference to the suspect Immunization; do not exchange symptom booleans as the clinical model. |
| Investigation | ZMCoreServiceRequest | Use the order number as an identifier, standard request priority, a coded test, requester, performer, encounter, and linked specimen. |
| IdentifiedSampleCollection | ZMCoreSpecimen | Retain specimen identity, type, collection time and quantity, receipt time, collector, and request linkage. |
| Result and Test | ZMCoreObservation | Use LOINC where verified, UCUM for units, structured values, interpretation, reference ranges, and specimen linkage. |
| Result set and report conclusion | ZMCoreDiagnosticReport | Link the report to its ServiceRequest, Specimen, Observations, encounter, performers, and interpreter. |
| Prescription and Medication | ZMCoreMedicationRequest and ZMCoreMedication | Keep product identity distinct from the order; express route, timing, dose, duration, and quantity structurally. |
| Dispense and DispensedItem | ZMCoreMedicationDispense | Reference the authorizing prescription and actual product, quantity, date, dispenser, destination, and receiver. |
| Surgery and other performed interventions | ZMCoreProcedure | Represent procedure code, occurrence, performers, location, reason, outcome, and complications as structured data. |
| ReferralModule | ZMCoreServiceRequest | Use a referral category, reason, requester, requested service, receiving organization or service, and a standard workflow status. |
| TreatmentPlan, NursingPlan, and programme plans | ZMCoreCarePlan | Preserve plan status, intent, period, custodian, problems, goals, activities, and contributors. |
| NextOfKin, Caregiver, and PatientBinding | ZMCoreRelatedPerson | Use a patient reference and coded relationship; use another Patient resource only when the related person is also a registered patient. |
| Created/modified facility and user fields | ZMCoreProvenance and ZMCoreAuditEvent | Exchange authorship and system activity as provenance/audit data, not as duplicate clinical extensions on every resource. |
| OrderAck, ResultACK, DISALog, and ElmisLog | Task, Provenance, and AuditEvent alongside the clinical resources | Acknowledgement and transport state must not replace the clinical resource status. |
ClinicianName, FacilityName, RequestedBy, and TestLocation are display fallbacks only. Exchange SHALL include resolvable references whenever the actor or place is known.IsDeleted is a local soft-delete flag and IsSynced or ELMIS synchronization flags are transport state. They SHALL NOT be interpreted as FHIR clinical status.LONIC, while some DTOs use LOINC. A stored value must be validated as a real LOINC code before it is published with http://loinc.org.A conforming adapter should first establish identifier and terminology governance, then implement Patient, PractitionerRole, Organization/Location, and Encounter references. Clinical workflows should be exchanged as connected resource graphs—for example ServiceRequest to Specimen to Observation to DiagnosticReport—before DISA/eLMIS acknowledgement state is added as Task, Provenance, and AuditEvent data.