{
"description": "Base profile for get-care-report and put-care-report API",
"_filename": "profile-Composition-put-care-report.json",
"package_name": "synapxe.hsar",
"date": "2019-11-01T09:29:23+11:00",
"derivation": "constraint",
"publisher": "IHIS",
"fhirVersion": "4.3.0",
"name": "profile-Composition-put-care-report",
"abstract": false,
"type": "Composition",
"experimental": null,
"resourceType": "StructureDefinition",
"title": null,
"package_version": "1.0.0",
"status": "active",
"id": "f67ba335-4a33-4865-b870-c7afbbde277c",
"kind": "resource",
"url": "http://ihis.sg/StructureDefinition/Composition-pophealth",
"version": null,
"differential": {
"element": [ {
"id": "Composition.id",
"max": "0",
"path": "Composition.id"
}, {
"id": "Composition.implicitRules",
"max": "0",
"path": "Composition.implicitRules"
}, {
"id": "Composition.language",
"max": "0",
"path": "Composition.language"
}, {
"id": "Composition.text",
"max": "0",
"path": "Composition.text"
}, {
"constraint": [ {
"key": "dom-2",
"human": "If the resource is contained in another resource, it SHALL NOT contain nested Resources",
"xpath": "not(parent::f:contained and f:contained)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource",
"severity": "error",
"expression": "contained.contained.empty()"
}, {
"key": "dom-4",
"human": "If a resource is contained in another resource, it SHALL NOT have a meta.versionId or a meta.lastUpdated",
"xpath": "not(exists(f:contained/*/f:meta/f:versionId)) and not(exists(f:contained/*/f:meta/f:lastUpdated))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource",
"severity": "error",
"expression": "contained.meta.versionId.empty() and contained.meta.lastUpdated.empty()"
}, {
"key": "dom-3",
"human": "If the resource is contained in another resource, it SHALL be referred to from elsewhere in the resource or SHALL refer to the containing resource",
"xpath": "not(exists(for $contained in f:contained return $contained[not(exists(parent::*/descendant::f:reference/@value=concat('#', $contained/*/f:id/@value)) or exists(descendant::f:reference[@value='#']))]))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource",
"severity": "error",
"expression": "contained.where(((id.exists() and ('#'+id in (%resource.descendants().reference | %resource.descendants().as(canonical) | %resource.descendants().as(uri) | %resource.descendants().as(url)))) or descendants().where(reference = '#').exists() or descendants().where(as(canonical) = '#').exists() or descendants().where(as(uri) = '#').exists()).not()).trace('unmatched', id).empty()"
}, {
"key": "dom-6",
"human": "A resource should have narrative for robust management",
"xpath": "exists(f:text/h:div)",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource",
"severity": "warning",
"expression": "text.`div`.exists()"
}, {
"key": "dom-5",
"human": "If a resource is contained in another resource, it SHALL NOT have a security label",
"xpath": "not(exists(f:contained/*/f:meta/f:security))",
"source": "http://hl7.org/fhir/StructureDefinition/DomainResource",
"severity": "error",
"expression": "contained.meta.security.empty()"
}, {
"key": "obs-7",
"human": "If Observation.code is the same as an Observation.component.code then the value element associated with the code SHALL NOT be present",
"xpath": "not(f:*[starts-with(local-name(.), 'value')] and (for $coding in f:code/f:coding return f:component/f:code/f:coding[f:code/@value=$coding/f:code/@value] [f:system/@value=$coding/f:system/@value]))",
"source": "http://hl7.org/fhir/StructureDefinition/Observation",
"severity": "error",
"expression": "value.empty() or component.code.where(coding.intersect(%resource.code.coding).exists()).empty()"
}, {
"key": "obs-6",
"human": "dataAbsentReason SHALL only be present if Observation.value[x] is not present",
"xpath": "not(exists(f:dataAbsentReason)) or (not(exists(*[starts-with(local-name(.), 'value')])))",
"source": "http://hl7.org/fhir/StructureDefinition/Observation",
"severity": "error",
"expression": "dataAbsentReason.empty() or value.empty()"
} ],
"path": "Composition.contained",
"min": 1,
"definition": "Demographics and other administrative information about an individual or animal receiving care or other health-related services.",
"short": "Information about an individual or animal receiving health care services",
"mapping": [ {
"map": "Event",
"identity": "workflow"
}, {
"map": "< 363787002 |Observable entity|",
"identity": "sct-concept"
}, {
"map": "OBX",
"identity": "v2"
}, {
"map": "Observation[classCode=OBS, moodCode=EVN]",
"identity": "rim"
}, {
"map": "clinical.diagnostics",
"identity": "w5"
}, {
"map": "Patient[classCode=PAT]",
"identity": "rim"
}, {
"map": "ClinicalDocument.recordTarget.patientRole",
"identity": "cda"
}, {
"map": "administrative.individual",
"identity": "w5"
} ],
"slicing": {
"rules": "closed",
"discriminator": [ {
"path": "$this",
"type": "type"
} ]
},
"alias": [ "Vital Signs", "Measurement", "Results", "Tests", "SubjectOfCare Client Resident" ],
"id": "Composition.contained",
"comment": "Used for simple observations such as device measurements, laboratory atomic results, vital signs, height, weight, smoking status, comments, etc. Other resources are used to provide context for observations such as laboratory reports, etc."
}, {
"id": "Composition.contained:Patient",
"max": "1",
"min": 1,
"path": "Composition.contained",
"type": [ {
"code": "Patient",
"profile": [ "http://ihis.sg/StructureDefinition/CareReport-Patient" ]
} ],
"short": "Contained, inline Resources",
"sliceName": "Patient",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope."
}, {
"id": "Composition.contained:Observation",
"min": 1,
"path": "Composition.contained",
"type": [ {
"code": "Observation",
"profile": [ "http://ihis.sg/StructureDefinition/CareReportObservation" ]
} ],
"short": "Contained, inline Resources",
"comment": "This should never be done when the content can be identified properly, as once identification is lost, it is extremely difficult (and context dependent) to restore it again. Contained resources may have profiles and tags In their meta elements, but SHALL NOT have security labels.",
"sliceName": "Observation",
"definition": "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, and nor can they have their own independent transaction scope."
}, {
"id": "Composition.extension",
"max": "1",
"min": 1,
"path": "Composition.extension",
"short": "NA",
"comment": "NA",
"slicing": {
"rules": "closed"
},
"definition": "NA"
}, {
"id": "Composition.extension:extensionCompositionCareReportYear",
"path": "Composition.extension",
"type": [ {
"code": "Extension",
"profile": [ "http://ihis.sg/extension/care-report-year" ]
} ],
"short": "The calendar year of the care report data, such as 2023,2024,etc.",
"comment": "NA",
"sliceName": "extensionCompositionCareReportYear",
"definition": "NA"
}, {
"id": "Composition.modifierExtension",
"max": "0",
"path": "Composition.modifierExtension"
}, {
"id": "Composition.identifier",
"max": "0",
"path": "Composition.identifier"
}, {
"path": "Composition.status",
"fixedCode": "final",
"requirements": "NA",
"definition": "NA",
"short": "The workflw/clinical status of this composition. The status is a marker for clinical standing of the document",
"id": "Composition.status",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueCode": "final"
} ],
"isModifierReason": "NA"
}, {
"id": "Composition.type",
"path": "Composition.type",
"binding": {
"strength": "required",
"valueSet": "http://ihis.sg/ValueSet/hsg-document-type"
},
"comment": "NA",
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.type.id",
"max": "0",
"path": "Composition.type.id"
}, {
"id": "Composition.type.extension",
"max": "0",
"path": "Composition.type.extension"
}, {
"id": "Composition.type.coding",
"min": 1,
"path": "Composition.type.coding"
}, {
"id": "Composition.type.coding.id",
"max": "0",
"path": "Composition.type.coding.id"
}, {
"id": "Composition.type.coding.extension",
"max": "0",
"path": "Composition.type.coding.extension"
}, {
"id": "Composition.type.coding.system",
"min": 1,
"path": "Composition.type.coding.system",
"comment": "NA",
"example": [ {
"label": "Fixed Value",
"valueUri": "https://ihis.sg/ValueSet/hsg-document-type"
} ],
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.type.coding.version",
"max": "0",
"path": "Composition.type.coding.version"
}, {
"id": "Composition.type.coding.code",
"min": 1,
"path": "Composition.type.coding.code",
"example": [ {
"label": "Fixed Value",
"valueCode": "care-report"
} ],
"fixedCode": "care-report",
"definition": "NA"
}, {
"id": "Composition.type.coding.display",
"path": "Composition.type.coding.display",
"example": [ {
"label": "Fixed Value",
"valueString": "Care Report"
} ],
"definition": "NA"
}, {
"id": "Composition.type.coding.userSelected",
"max": "0",
"path": "Composition.type.coding.userSelected"
}, {
"id": "Composition.type.text",
"max": "0",
"path": "Composition.type.text"
}, {
"id": "Composition.category",
"max": "0",
"path": "Composition.category"
}, {
"id": "Composition.subject",
"min": 1,
"path": "Composition.subject",
"type": [ {
"code": "Reference",
"aggregation": [ "contained" ],
"targetProfile": [ "http://ihis.sg/StructureDefinition/CareReport-Patient" ]
} ],
"short": "Reference to the patient in patient master to link this care report data",
"definition": "NA"
}, {
"id": "Composition.subject.id",
"max": "0",
"path": "Composition.subject.id"
}, {
"id": "Composition.subject.extension",
"max": "0",
"path": "Composition.subject.extension"
}, {
"id": "Composition.subject.reference",
"min": 1,
"path": "Composition.subject.reference",
"short": "Literal reference, relative, internal or absolute URL",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueString": "#B35F55D095F64C95B6A200D44498F47D"
} ],
"definition": "NA"
}, {
"id": "Composition.subject.type",
"max": "0",
"path": "Composition.subject.type"
}, {
"id": "Composition.subject.identifier",
"max": "0",
"path": "Composition.subject.identifier"
}, {
"id": "Composition.subject.display",
"max": "0",
"path": "Composition.subject.display"
}, {
"id": "Composition.encounter",
"max": "0",
"path": "Composition.encounter"
}, {
"id": "Composition.date",
"path": "Composition.date",
"short": "Care report submission date",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueDateTime": "2022-01-01T17:00:00+08:00"
} ],
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.author",
"max": "1",
"path": "Composition.author",
"short": "Who submitted the care report",
"comment": "NA",
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.author.id",
"max": "0",
"path": "Composition.author.id"
}, {
"id": "Composition.author.extension",
"max": "0",
"path": "Composition.author.extension"
}, {
"id": "Composition.author.reference",
"max": "0",
"path": "Composition.author.reference"
}, {
"id": "Composition.author.type",
"max": "0",
"path": "Composition.author.type"
}, {
"id": "Composition.author.identifier",
"min": 1,
"path": "Composition.author.identifier",
"short": "Grouping of identifier",
"comment": "NA",
"definition": "NA"
}, {
"id": "Composition.author.identifier.id",
"max": "0",
"path": "Composition.author.identifier.id"
}, {
"id": "Composition.author.identifier.extension",
"max": "0",
"path": "Composition.author.identifier.extension"
}, {
"id": "Composition.author.identifier.use",
"max": "0",
"path": "Composition.author.identifier.use"
}, {
"id": "Composition.author.identifier.type",
"max": "0",
"path": "Composition.author.identifier.type"
}, {
"id": "Composition.author.identifier.system",
"min": 1,
"path": "Composition.author.identifier.system",
"comment": "NA",
"example": [ {
"label": "Fixed Value",
"valueUri": "http://ihis.sg/identifier/mcr"
} ],
"fixedUri": "http://ihis.sg/identifier/nric",
"definition": "NA",
"requirements": "NA"
}, {
"constraint": [ {
"key": "empty-value-validation",
"human": "Author identifier value should not be empty",
"severity": "error",
"expression": "$this.length() > 0"
} ],
"path": "Composition.author.identifier.value",
"min": 1,
"definition": "NA",
"short": "The MCR number.",
"id": "Composition.author.identifier.value",
"condition": [ "empty-value-validation" ],
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueString": "M112233F"
} ]
}, {
"id": "Composition.author.identifier.period",
"max": "0",
"path": "Composition.author.identifier.period"
}, {
"id": "Composition.author.identifier.assigner",
"max": "0",
"path": "Composition.author.identifier.assigner"
}, {
"id": "Composition.author.display",
"path": "Composition.author.display",
"short": "The name of the submitter",
"example": [ {
"label": "Sample Value",
"valueString": "Dr Sharon Ang"
} ],
"definition": "NA"
}, {
"id": "Composition.title",
"path": "Composition.title",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueString": "Care Report Submission"
} ],
"condition": [ "empty-value-validation" ],
"constraint": [ {
"key": "empty-value-validation",
"human": "Title should not be empty",
"severity": "error",
"expression": "$this.length() > 0"
} ],
"definition": "NA"
}, {
"id": "Composition.confidentiality",
"max": "0",
"path": "Composition.confidentiality"
}, {
"id": "Composition.attester",
"max": "0",
"path": "Composition.attester"
}, {
"id": "Composition.custodian",
"min": 1,
"path": "Composition.custodian",
"short": "The organization who submitted the care report",
"comment": "NA",
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.custodian.id",
"max": "0",
"path": "Composition.custodian.id"
}, {
"id": "Composition.custodian.extension",
"max": "0",
"path": "Composition.custodian.extension"
}, {
"id": "Composition.custodian.reference",
"max": "0",
"path": "Composition.custodian.reference"
}, {
"id": "Composition.custodian.type",
"min": 1,
"path": "Composition.custodian.type",
"short": "Resurce type",
"comment": "NA",
"example": [ {
"label": "Fixed Value",
"valueUri": "Organization"
} ],
"fixedUri": "Organization",
"definition": "NA"
}, {
"id": "Composition.custodian.identifier",
"min": 1,
"path": "Composition.custodian.identifier",
"short": "Grouping of identifier",
"comment": "NA",
"definition": "NA"
}, {
"id": "Composition.custodian.identifier.id",
"max": "0",
"path": "Composition.custodian.identifier.id"
}, {
"id": "Composition.custodian.identifier.extension",
"max": "0",
"path": "Composition.custodian.identifier.extension"
}, {
"id": "Composition.custodian.identifier.use",
"max": "0",
"path": "Composition.custodian.identifier.use"
}, {
"id": "Composition.custodian.identifier.type",
"max": "0",
"path": "Composition.custodian.identifier.type"
}, {
"id": "Composition.custodian.identifier.system",
"min": 1,
"path": "Composition.custodian.identifier.system",
"comment": "NA",
"example": [ {
"label": "Fixed Value",
"valueUri": "http://ihis.sg/identifier/hci-code"
} ],
"fixedUri": "http://ihis.sg/identifier/mcr",
"definition": "NA",
"requirements": "NA"
}, {
"constraint": [ {
"key": "empty-value-validation",
"human": "Organization identifier value should not be empty",
"severity": "error",
"expression": "$this.length() > 0"
} ],
"path": "Composition.custodian.identifier.value",
"min": 1,
"definition": "NA",
"short": "HCI code.",
"id": "Composition.custodian.identifier.value",
"condition": [ "empty-value-validation" ],
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueString": "123H04"
} ]
}, {
"id": "Composition.custodian.identifier.period",
"max": "0",
"path": "Composition.custodian.identifier.period"
}, {
"id": "Composition.custodian.identifier.assigner",
"max": "0",
"path": "Composition.custodian.identifier.assigner"
}, {
"id": "Composition.custodian.display",
"max": "0",
"path": "Composition.custodian.display"
}, {
"id": "Composition.relatesTo",
"max": "0",
"path": "Composition.relatesTo"
}, {
"id": "Composition.event",
"max": "0",
"path": "Composition.event"
}, {
"id": "Composition.section",
"min": 1,
"path": "Composition.section",
"short": "Care report section",
"definition": "Must populate all sections"
}, {
"id": "Composition.section.id",
"max": "0",
"path": "Composition.section.id"
}, {
"id": "Composition.section.extension",
"max": "0",
"path": "Composition.section.extension"
}, {
"id": "Composition.section.modifierExtension",
"max": "0",
"path": "Composition.section.modifierExtension"
}, {
"id": "Composition.section.title",
"max": "0",
"path": "Composition.section.title"
}, {
"id": "Composition.section.code",
"min": 1,
"path": "Composition.section.code",
"short": "Type of section",
"comment": "NA",
"definition": "Terminology code for representing the specific section in the care report data so that SOE systems can specify the correct value that can be understood by downstream systems such as MCDR",
"requirements": "NA"
}, {
"id": "Composition.section.code.id",
"max": "0",
"path": "Composition.section.code.id"
}, {
"id": "Composition.section.code.extension",
"max": "0",
"path": "Composition.section.code.extension"
}, {
"id": "Composition.section.code.coding",
"min": 1,
"path": "Composition.section.code.coding",
"comment": "NA",
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.section.code.coding.id",
"max": "0",
"path": "Composition.section.code.coding.id"
}, {
"id": "Composition.section.code.coding.extension",
"max": "0",
"path": "Composition.section.code.coding.extension"
}, {
"id": "Composition.section.code.coding.system",
"min": 1,
"path": "Composition.section.code.coding.system",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueUri": "http://ihis.sg/ValueSet/hsg-carereport-section"
} ],
"fixedUri": "http://ihis.sg/extension/enrollment-status",
"definition": "NA",
"requirements": "NA"
}, {
"id": "Composition.section.code.coding.version",
"max": "0",
"path": "Composition.section.code.coding.version"
}, {
"id": "Composition.section.code.coding.code",
"min": 1,
"path": "Composition.section.code.coding.code",
"short": "Terminology code.",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueCode": "section-general"
} ],
"definition": "Refer to the 'CareReportBusinessData'.",
"requirements": "NA"
}, {
"id": "Composition.section.code.coding.display",
"path": "Composition.section.code.coding.display",
"short": "Display name of the code.",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueString": "General fields data group"
} ],
"definition": "Refer to the 'CareReportBusinessData'.",
"requirements": "NA"
}, {
"id": "Composition.section.code.coding.userSelected",
"max": "0",
"path": "Composition.section.code.coding.userSelected"
}, {
"id": "Composition.section.code.text",
"max": "0",
"path": "Composition.section.code.text"
}, {
"id": "Composition.section.author",
"max": "0",
"path": "Composition.section.author"
}, {
"id": "Composition.section.focus",
"max": "0",
"path": "Composition.section.focus"
}, {
"id": "Composition.section.text",
"max": "0",
"path": "Composition.section.text"
}, {
"id": "Composition.section.mode",
"max": "0",
"path": "Composition.section.mode"
}, {
"id": "Composition.section.orderedBy",
"max": "0",
"path": "Composition.section.orderedBy"
}, {
"id": "Composition.section.entry",
"min": 1,
"path": "Composition.section.entry",
"definition": "This represents the care report data element, msut populate all elements, regardless there is value or not."
}, {
"id": "Composition.section.entry.id",
"max": "0",
"path": "Composition.section.entry.id"
}, {
"id": "Composition.section.entry.extension",
"max": "0",
"path": "Composition.section.entry.extension"
}, {
"id": "Composition.section.entry.reference",
"min": 1,
"path": "Composition.section.entry.reference",
"short": "A reference from one resource to another. Actual data element under the respective section",
"comment": "NA",
"example": [ {
"label": "Sample Value",
"valueString": "#BFE94D3BE01E4160B1F4F6E7840B5562"
} ],
"definition": "Local reference to the specific contained observation resource, which contains the actual care report data."
}, {
"id": "Composition.section.entry.type",
"max": "0",
"path": "Composition.section.entry.type"
}, {
"id": "Composition.section.entry.identifier",
"max": "0",
"path": "Composition.section.entry.identifier"
}, {
"id": "Composition.section.entry.display",
"max": "0",
"path": "Composition.section.entry.display"
}, {
"id": "Composition.section.emptyReason",
"max": "0",
"path": "Composition.section.emptyReason"
}, {
"id": "Composition.section.section",
"max": "0",
"path": "Composition.section.section"
} ]
},
"baseDefinition": "http://hl7.org/fhir/StructureDefinition/Composition"
}