Skip to content
Release: Australia · Updated: 2026-06-16 · Official documentation · View source

FHIR-to-HCLS field mappings

For each of the four FHIR R4 resources, the Healthcare Operations HL7 FHIR Integration maps FHIR fields to Healthcare Operations target tables and upserts records — matching the primary HCLS record on the FHIR resource ID (stored as an external identifier) and related records on their natural keys.

Each resource's primary record is matched by its FHIR logical ID, stored as external_id on the Healthcare (HCLS) Organization, Location, and Practitioner tables. Related records that have no external_id column — business locations, users, and service organization memberships — are matched on their natural keys instead. The tables below summarize the principal field mappings; some fields are populated on related platform tables as a side effect of the upsert.

Some FHIR data is intentionally not mapped in this release: practitioner NPI and other identifiers (the FHIR logical ID serves as the external identifier), and PractitionerRole role codes and specialties.

Organization

FHIR Organizations upsert into sn_hcls_organization and, based on the organization classification decision table, into either sn_csm_business_location_internal or sn_csm_business_location_external.

FHIR fieldTarget fieldNotes
idsn_hcls_organization.external_idUpsert key.
namesn_hcls_organization.nameRequired; the record is skipped if it is missing.
typesn_hcls_organization.org_typeDefaults to other if missing or unrecognized. Drives the internal/external business location classification.
partOfsn_hcls_organization.parentResolved to a parent organization by external ID. One level of missing parent is recovered; deeper hierarchy gaps are logged.
address, telecomBusiness location address and contact fieldsWritten to the internal or external business location record.

Location

FHIR Locations upsert into sn_hcls_location and the platform cmn_location table, and optionally create an organization-location association.

FHIR fieldTarget fieldNotes
idsn_hcls_location.external_idUpsert key.
namesn_hcls_location.name, cmn_location.nameRequired.
statussn_hcls_location.statusMaps directly (active, suspended, inactive).
physicalTypesn_hcls_location.physical_typeMapped where a matching HCLS value exists; left empty otherwise.
address, positioncmn_location address and coordinate fieldsThe platform location is anchored to the HCLS location.
partOfsn_hcls_location.parent_location, cmn_location.parentResolved by external ID, with one level of parent recovery. The parent is set on both the Healthcare Location and the platform location.
managingOrganizationsn_hcls_organization_location_associationCreates the association if the organization resolves; otherwise the association is skipped and logged, and the location still upserts.

Practitioner

FHIR Practitioners upsert into sn_hcls_practitioner and the platform sys_user table, and each practitioner is granted the care-team-member role.

FHIR fieldTarget fieldNotes
idsn_hcls_practitioner.external_idUpsert key.
telecom (email)sys_user.user_name, sys_user.emailRequired; normalized and used to match or create the user. Practitioners without an email are skipped.
name (given, family, prefix, suffix, text)Practitioner and user name fieldsGiven name defaults to Unknown if missing, and the run is marked Completed with errors.
gendersn_hcls_practitioner.genderMapped to HCLS values; defaults to not-disclosed if missing or unknown.
birthDate, telecom (phone), address, activeCorresponding practitioner and user fieldsImported users have login enabled; admins set credentials separately.
(role grant)sys_user_has_roleEach practitioner is granted the sn_hco.care_team_member role.

PractitionerRole

FHIR PractitionerRoles upsert into sn_csm_service_organization_member and sn_csm_svc_org_member_responsibility, placing a practitioner on a care team for an organization.

FHIR fieldTarget fieldNotes
practitioner.referencesn_csm_service_organization_member.userResolved through the Healthcare Practitioner record to the user. The role is skipped if the practitioner is not found.
organization.referencesn_csm_service_organization_member.service_organizationResolved through the Healthcare Organization to its business location. The role is skipped if the organization is not resolvable.
(responsibility)sn_csm_svc_org_member_responsibility.typeSet to the Care Team Member responsibility for every imported role.
code, specialtyNot mappedFHIR role codes and specialties are not captured in this release.
locationNot usedThe role's location array is not used to infer organization membership.