Consolidated CDA
3.0.0-ballot - ballot United States of America flag

This page is part of the CCDA: Consolidated CDA Release (v3.0.0-ballot: CCDA 3.0 Ballot 1) based on FHIR (HL7® FHIR® Standard) v5.0.0. . For a full list of available versions, see the Directory of published versions

Logical Model: Procedure Activity Procedure

Official URL: http://hl7.org/cda/us/ccda/StructureDefinition/ProcedureActivityProcedure Version: 3.0.0-ballot
Draft as of 2023-12-21 Computable Name: ProcedureActivityProcedure
Other Identifiers: id: urn:hl7ii:2.16.840.1.113883.10.20.22.4.14:2024-05-01

This template is used to represent the details of current and historical procedures performed on or for a patient. A procedure is an activity that is performed on, with, or for a patient as part of the provision of care. Examples include surgical procedures, diagnostic procedures, endoscopic procedures, biopsies, counseling, physiotherapy, personal support services, adult day care services, non-emergency transportation, home modification, exercise, etc. Procedures may be performed by a healthcare professional, a service provider, a friend or relative or in some cases by the patient themselves.

Usage:

Formal Views of Profile Content

Description of Profiles, Differentials, Snapshots and how the different presentations work.

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C1..1ProcedureXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors: @nullFlavor, realmCode, typeId, templateId, @classCode, @moodCode, id, code, @negationInd, text, statusCode, effectiveTime, priorityCode, languageCode, methodCode, approachSiteCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, sdtcPrecondition2, sdtcInFulfillmentOf1
Base for all types and resources
Instances of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
should-text-ref-value: SHOULD contain text/reference/@value
active-high-ts-after-document: If the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
should-targetSiteCode: SHOULD contain targetSiteCode
should-performer: SHOULD contain performer
should-author: SHOULD contain author
... Slices for templateId 1..*IISlice: Unordered, Open by value:root, value:extension
.... templateId:procedure 1..1II
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.14
..... @extension 1..1stRequired Pattern: 2024-05-01
... @classCode 1..1cs
... @moodCode 1..1csFixed Value: EVN
... code C1..1CDBinding: US Core Procedure Codes (preferred)
Additional BindingsPurposeDocumentation
Social Determinants of Health ProceduresPreferred Binding
For Social Determinant of Health Interventions

should-otext-ref-value: SHOULD contain originalText/reference/@value
.... originalText 0..1EDSHOULD reference the portion of narrative corresponding to this code
..... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... text 0..1EDSHOULD reference the portion of section narrative text corresponding to this entry
.... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... statusCode 1..1CS
.... @code 1..1csBinding: ProcedureAct statusCode (required)
... effectiveTime C1..1USRealmDateTimeInterval(USCDI) Performance Time
should-value: SHOULD contain value
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... @value 0..1tsIndicates historical procedure or an instance of a procedure where precision may be only a date or even a year.
.... low C0..1IVXB_TSIndicates when a procedure started
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... high 0..1IVXB_TSIndicates when a procedure ended. If the statusCode='active', this must be after the ClinicalDcument/effectiveTime
... priorityCode 0..1CEBinding: ActPriority (required)
... methodCode 0..1CEMethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).
... targetSiteCode 0..*CDIn the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
Binding: Body Site Value Set (required)
... specimen 0..*SpecimenThis specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
.... specimenRole C1..1SpecimenRoleshould-id: SHOULD contain id
..... id 0..*IIIf you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).
... performer 0..*Performer2
.... assignedEntity C1..1AssignedEntityshould-assignedPerson: SHOULD contain assignedPerson
should-representedOrganization: SHOULD contain representedOrganization
..... id 1..*II
..... addr 1..*USRealmAddressBase for all types and resources
..... telecom 1..*TEL
..... assignedPerson 0..1Person
...... name 1..*USRealmPersonNamePNUSFIELDEDBase for all types and resources
..... representedOrganization C0..1Organizationshould-id: SHOULD contain id
...... id 0..*II
...... name 0..*ON
...... telecom 1..*TEL
...... addr 1..*USRealmAddressBase for all types and resources
... author 0..*AuthorParticipationBase for all types and resources
... Slices for participant 0..*Participant2Slice: Unordered, Open by value:typeCode
.... participant:participant1 0..*Participant2participant
..... @typeCode 1..1csFixed Value: DEV
..... participantRole 1..1ProductInstanceBase for all types and resources
.... participant:participant2 0..*Participant2participant
..... @typeCode 1..1csFixed Value: LOC
..... participantRole 1..1ServiceDeliveryLocationBase for all types and resources
... Slices for entryRelationship 0..*EntryRelationshipSlice: Unordered, Open by profile:act, profile:observation, exists:encounter
.... entryRelationship:entryRelationship1 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: COMP
..... @inversionInd 1..1blFixed Value: true
..... encounter 1..1Encounter
...... @classCode 1..1cs
...... @moodCode 1..1csFixed Value: EVN
...... id 1..1IISet the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).
.... entryRelationship:entryRelationship2 0..1EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: SUBJ
..... @inversionInd 1..1blFixed Value: true
..... act 1..1InstructionBase for all types and resources
.... entryRelationship:entryRelationship3 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: RSON
..... observation 1..1IndicationBase for all types and resources
.... entryRelationship:entryRelationship4 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: COMP
..... substanceAdministration 1..1MedicationActivityBase for all types and resources
.... entryRelationship:entryRelationship5 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: COMP
..... observation 1..1ReactionObservationBase for all types and resources
.... entryRelationship:entryRelationship6 0..*EntryRelationshipWhen an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csFixed Value: RSON
..... observation 1..1AssessmentScaleObservationBase for all types and resources
.... entryRelationship:entryRelationship7 0..*EntryRelationshipWhen an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csFixed Value: RSON
..... act 1..1EntryReferenceBase for all types and resources

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Procedure.codepreferredUSCoreProcedureCodes
Procedure.statusCode.coderequiredProcedureActStatusCode
Procedure.priorityCoderequiredActPriority
Procedure.targetSiteCoderequiredBodySiteValueSet

Constraints

IdGradePath(s)DetailsRequirements
active-high-ts-after-documenterrorProcedureIf the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
: (statusCode.code = 'active' and effectiveTime.high.value.exists()) implies effectiveTime.high.value > %resource.effectiveTime.value
should-assignedPersonwarningProcedure.performer.assignedEntitySHOULD contain assignedPerson
: assignedPerson.exists()
should-authorwarningProcedureSHOULD contain author
: author.exists()
should-idwarningProcedure.specimen.specimenRole, Procedure.performer.assignedEntity.representedOrganizationSHOULD contain id
: id.exists()
should-otext-ref-valuewarningProcedure.codeSHOULD contain originalText/reference/@value
: originalText.reference.value.exists()
should-performerwarningProcedureSHOULD contain performer
: performer.exists()
should-representedOrganizationwarningProcedure.performer.assignedEntitySHOULD contain representedOrganization
: representedOrganization.exists()
should-targetSiteCodewarningProcedureSHOULD contain targetSiteCode
: targetSiteCode.exists()
should-text-ref-valuewarningProcedureSHOULD contain text/reference/@value
: text.reference.value.exists()
should-valuewarningProcedure.effectiveTimeSHOULD contain value
: value.exists()
ts-value-before-documenterrorProcedure.effectiveTime, Procedure.effectiveTime.lowTime value must be equal to or before ClinicalDocument/effectiveTime
: value.exists() implies value <= %resource.effectiveTime.value
value-starts-octothorpeerrorProcedure.code.originalText.reference, Procedure.text.referenceIf reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
: value.exists() implies value.startsWith('#')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C1..1ProcedureXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors: @nullFlavor, realmCode, typeId, templateId, @classCode, @moodCode, id, code, @negationInd, text, statusCode, effectiveTime, priorityCode, languageCode, methodCode, approachSiteCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, sdtcPrecondition2, sdtcInFulfillmentOf1
Base for all types and resources
Instances of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
should-text-ref-value: SHOULD contain text/reference/@value
active-high-ts-after-document: If the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
should-targetSiteCode: SHOULD contain targetSiteCode
should-performer: SHOULD contain performer
should-author: SHOULD contain author
... Slices for templateId 1..*IISlice: Unordered, Open by value:root, value:extension
.... templateId:procedure 1..1II
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.14
..... @extension 1..1stRequired Pattern: 2024-05-01
... @classCode 1..1csBinding: ActClassProcedure (required)
Fixed Value: PROC
... @moodCode 1..1csBinding: x_DocumentProcedureMood (required)
Fixed Value: EVN
... code C1..1CDBinding: US Core Procedure Codes (preferred)
Additional BindingsPurposeDocumentation
Social Determinants of Health ProceduresPreferred Binding
For Social Determinant of Health Interventions

should-otext-ref-value: SHOULD contain originalText/reference/@value
.... originalText 0..1EDSHOULD reference the portion of narrative corresponding to this code
..... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... text 0..1EDSHOULD reference the portion of section narrative text corresponding to this entry
.... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... statusCode 1..1CSBinding: ActStatus (required)
.... @code 1..1csBinding: ProcedureAct statusCode (required)
... effectiveTime C1..1USRealmDateTimeInterval(USCDI) Performance Time
should-value: SHOULD contain value
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... @value 0..1tsIndicates historical procedure or an instance of a procedure where precision may be only a date or even a year.
Date Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
.... low C0..1IVXB_TSIndicates when a procedure started
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... high C0..1IVXB_TSIndicates when a procedure ended. If the statusCode='active', this must be after the ClinicalDcument/effectiveTime
... priorityCode 0..1CEBinding: ActPriority (required)
... methodCode 0..1CEMethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).
... targetSiteCode 0..*CDIn the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
Binding: Body Site Value Set (required)
... specimen 0..*SpecimenThis specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
.... specimenRole C1..1SpecimenRoleshould-id: SHOULD contain id
..... id 0..*IIIf you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).
... performer 0..*Performer2
.... assignedEntity C1..1AssignedEntityshould-assignedPerson: SHOULD contain assignedPerson
should-representedOrganization: SHOULD contain representedOrganization
..... id 1..*II
..... addr C1..*USRealmAddressBase for all types and resources
..... telecom 1..*TEL
..... assignedPerson 0..1Person
...... name C1..*USRealmPersonNamePNUSFIELDEDBase for all types and resources
..... representedOrganization C0..1Organizationshould-id: SHOULD contain id
...... id 0..*II
...... name 0..*ON
...... telecom 1..*TEL
...... addr C1..*USRealmAddressBase for all types and resources
... author 0..*AuthorParticipationBase for all types and resources
... Slices for participant 0..*Participant2Slice: Unordered, Open by value:typeCode
.... participant:participant1 0..*Participant2participant
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: DEV
..... participantRole C1..1ProductInstanceBase for all types and resources
.... participant:participant2 0..*Participant2participant
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: LOC
..... participantRole C1..1ServiceDeliveryLocationBase for all types and resources
... Slices for entryRelationship 0..*EntryRelationshipSlice: Unordered, Open by profile:act, profile:observation, exists:encounter
.... entryRelationship:entryRelationship1 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 1..1blFixed Value: true
..... encounter 1..1Encounter
...... @classCode 1..1csBinding: ActClass (2.0.0) (required)
Fixed Value: ENC
...... @moodCode 1..1csBinding: XDocumentEncounterMood (2.0.0) (required)
Fixed Value: EVN
...... id 1..1IISet the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).
.... entryRelationship:entryRelationship2 0..1EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: SUBJ
..... @inversionInd 1..1blFixed Value: true
..... act C1..1InstructionBase for all types and resources
.... entryRelationship:entryRelationship3 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... observation C1..1IndicationBase for all types and resources
.... entryRelationship:entryRelationship4 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... substanceAdministration C1..1MedicationActivityBase for all types and resources
.... entryRelationship:entryRelationship5 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... observation C1..1ReactionObservationBase for all types and resources
.... entryRelationship:entryRelationship6 0..*EntryRelationshipWhen an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... observation C1..1AssessmentScaleObservationBase for all types and resources
.... entryRelationship:entryRelationship7 0..*EntryRelationshipWhen an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... act C1..1EntryReferenceBase for all types and resources

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Procedure.classCoderequiredFixed Value: PROC
Procedure.moodCoderequiredFixed Value: EVN
Procedure.codepreferredUSCoreProcedureCodes
Procedure.statusCoderequiredActStatus
Procedure.statusCode.coderequiredProcedureActStatusCode
Procedure.priorityCoderequiredActPriority
Procedure.targetSiteCoderequiredBodySiteValueSet
Procedure.participant:participant1.typeCoderequiredFixed Value: DEV
Procedure.participant:participant2.typeCoderequiredFixed Value: LOC
Procedure.entryRelationship:entryRelationship1.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship1.encounter.classCoderequiredFixed Value: ENC
Procedure.entryRelationship:entryRelationship1.encounter.moodCoderequiredFixed Value: EVN
Procedure.entryRelationship:entryRelationship2.typeCoderequiredFixed Value: SUBJ
Procedure.entryRelationship:entryRelationship3.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship4.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship5.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship6.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship7.typeCoderequiredFixed Value: RSON

Constraints

IdGradePath(s)DetailsRequirements
1098-7513warningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain zero or one [0..1] effectiveTime (CONF:1098-7513) such that it **SHALL** contain exactly one [1..1] @xsi:type="PIVL_TS" or "EIVL_TS" (CONF:1098-28499).
: effectiveTime.ofType(CDA.PIVL_TS).exists() or effectiveTime.ofType(CDA.EIVL_TS).exists()
81-7296errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addr**SHALL NOT** have mixed content except for white space (CONF:81-7296)
: item.xmlText.empty()
81-9371errorProcedure.performer.assignedEntity.assignedPerson.nameThe content of name **SHALL** be either a conformant Patient Name (PTN.US.FIELDED), or a string (CONF:81-9371).
: conformsTo('http://hl7.org/cda/us/ccda/StructureDefinition/USRealmPatientNamePTNUSFIELDED') or item.xmlText.exists()
81-9372errorProcedure.performer.assignedEntity.assignedPerson.nameThe string **SHALL NOT** contain name parts (CONF:81-9372).
: item.xmlText.exists() implies (item.delimiter | item.family | item.given | item.prefix | item.suffix).empty()
81-10024errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the state element is required and SHALL be selected from ValueSet StateValueSet but SHOULD have @nullFlavor if the state is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the state MAY be present but MAY be bound to different vocabularies (CONF:81-10024).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.state.exists(nullFlavor.exists() or xmlText.memberOf('http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state'))
81-10025errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the postalCode element is required but SHOULD have @nullFlavor if the postalCode is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the postalCode MAY be present but MAY be bound to different vocabularies (CONF:81-10025).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.postalCode.exists(nullFlavor.exists() or xmlText.matches('[0-9]{5}(-[0-9]{4})?'))
active-high-ts-after-documenterrorProcedureIf the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
: (statusCode.code = 'active' and effectiveTime.high.value.exists()) implies effectiveTime.high.value > %resource.effectiveTime.value
dose-unit-or-admin-uniterrorProcedure.entryRelationship:entryRelationship4.substanceAdministrationIf doseQuantity/@unit is present, then administrationUnitCode SHALL NOT be present.
: doseQuantity.unit.exists() implies administrationUnitCode.empty()
ivl-ts-centererrorProcedure.effectiveTimeCenter cannot co-exist with low or high
: center.empty() or (low.empty() and high.empty())
ivl-value-shallerrorProcedure.effectiveTimeIf a time interval contains @value, then it shall be precise to at least the day.
: value.exists() implies value.toString().length() >= 10
ivl-value-shouldwarningProcedure.effectiveTimeIf a time interval contains @value, then it SHOULD contain a time component.
: value.exists() implies value.toString().length() > 10
pn-no-lserrorProcedure.performer.assignedEntity.assignedPerson.nameNo PN name part may have a qualifier of LS.
: (item.delimiter | item.family | item.given | item.prefix | item.suffix).where(qualifier.where($this = 'LS').exists()).empty()
role-choiceerrorProcedure.participant:participant1.participantRole, Procedure.participant:participant2.participantRoleplayingDevice and playingEntity are mutually exclusive
: (playingDevice | playingEntity).count() <= 1
shall-cityerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain exactly one [1..1] city (CONF:81-7292).
: nullFlavor.exists() or item.city.count() = 1
shall-max-ad-partserrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL have at most one of each: state, city, postalCode, and country
: (item.state.empty() or item.state.count() = 1) and (item.city.empty() or item.city.count() = 1) and (item.postalCode.empty() or item.postalCode.count() = 1) and (item.country.empty() or item.country.count() = 1)
shall-streetAddressLineerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain at least one and not more than 4 streetAddressLine (CONF:81-7291).
: nullFlavor.exists() or (item.streetAddressLine.count() >= 1 and item.streetAddressLine.count() <= 4)
should-addrwarningProcedure.participant:participant2.participantRoleSHOULD contain addr
: addr.exists()
should-assignedPersonwarningProcedure.performer.assignedEntitySHOULD contain assignedPerson
: assignedPerson.exists()
should-authorwarningProcedureSHOULD contain author
: author.exists()
should-authorwarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain author
: author.exists()
should-countrywarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain country
: nullFlavor.exists() or item.country.exists()
should-effectiveTimewarningProcedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship5.observationSHOULD contain effectiveTime
: effectiveTime.exists()
should-idwarningProcedure.specimen.specimenRole, Procedure.performer.assignedEntity.representedOrganizationSHOULD contain id
: id.exists()
should-otext-ref-valuewarningProcedure.codeSHOULD contain originalText/reference/@value
: originalText.reference.value.exists()
should-performerwarningProcedureSHOULD contain performer
: performer.exists()
should-representedOrganizationwarningProcedure.performer.assignedEntitySHOULD contain representedOrganization
: representedOrganization.exists()
should-routeCodewarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain routeCode
: routeCode.exists()
should-targetSiteCodewarningProcedureSHOULD contain targetSiteCode
: targetSiteCode.exists()
should-telecomwarningProcedure.participant:participant2.participantRoleSHOULD contain telecom
: telecom.exists()
should-text-ref-valuewarningProcedureSHOULD contain text/reference/@value
: text.reference.value.exists()
should-text-ref-valuewarningProcedure.entryRelationship:entryRelationship2.act, Procedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship4.substanceAdministration, Procedure.entryRelationship:entryRelationship5.observation, Procedure.entryRelationship:entryRelationship6.observation, Procedure.entryRelationship:entryRelationship7.actSHOULD contain text/reference/@value
: text.reference.value.exists()
should-usewarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain @use
: nullFlavor.exists() or use.exists()
should-valuewarningProcedure.effectiveTimeSHOULD contain value
: value.exists()
ts-shall-dayerrorProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHALL** be precise to at least the day
: nullFlavor.exists() or value.toString().length() >= 10
ts-should-minutewarningProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHOULD** be precise to at least the minute
: nullFlavor.exists() or value.toString().length() > 10
ts-value-before-documenterrorProcedure.effectiveTime, Procedure.effectiveTime.lowTime value must be equal to or before ClinicalDocument/effectiveTime
: value.exists() implies value <= %resource.effectiveTime.value
value-starts-octothorpeerrorProcedure.code.originalText.reference, Procedure.text.referenceIf reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
: value.exists() implies value.startsWith('#')
NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C1..1ProcedureXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors: @nullFlavor, realmCode, typeId, templateId, @classCode, @moodCode, id, code, @negationInd, text, statusCode, effectiveTime, priorityCode, languageCode, methodCode, approachSiteCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, sdtcPrecondition2, sdtcInFulfillmentOf1
Base for all types and resources
Instances of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
should-text-ref-value: SHOULD contain text/reference/@value
active-high-ts-after-document: If the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
should-targetSiteCode: SHOULD contain targetSiteCode
should-performer: SHOULD contain performer
should-author: SHOULD contain author
... @nullFlavor 0..1csBinding: CDANullFlavor (required)
... realmCode 0..*CS
... typeId 0..1II
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @assigningAuthorityName 0..1st
.... @displayable 0..1bl
.... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
.... @extension 1..1st
... Slices for templateId 1..*IISlice: Unordered, Open by value:root, value:extension
.... templateId:procedure 1..1II
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @assigningAuthorityName 0..1st
..... @displayable 0..1bl
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.14
..... @extension 1..1stRequired Pattern: 2024-05-01
... @classCode 1..1csBinding: ActClassProcedure (required)
Fixed Value: PROC
... @moodCode 1..1csBinding: x_DocumentProcedureMood (required)
Fixed Value: EVN
... id 1..*II
... code C1..1CDBinding: US Core Procedure Codes (preferred)
Additional BindingsPurposeDocumentation
Social Determinants of Health ProceduresPreferred Binding
For Social Determinant of Health Interventions

should-otext-ref-value: SHOULD contain originalText/reference/@value
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @code 0..1cs
.... @codeSystem 0..1oid, uuid, ruid
.... @codeSystemName 0..1st
.... @codeSystemVersion 0..1st
.... @displayName 0..1st
.... @sdtcValueSet 0..1oidXML Namespace: urn:hl7-org:sdtc
XML: valueSet (urn:hl7-org:sdtc)
.... @sdtcValueSetVersion 0..1stXML Namespace: urn:hl7-org:sdtc
XML: valueSetVersion (urn:hl7-org:sdtc)
.... originalText 0..1EDSHOULD reference the portion of narrative corresponding to this code
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @compression 0..1csBinding: CompressionAlgorithm (required)
..... @integrityCheck 0..1bin
..... @integrityCheckAlgorithm 0..1csBinding: IntegrityCheckAlgorithm (2.0.0) (required)
..... @language 0..1cs
..... @mediaType 0..1csBinding: MediaType (example)
..... @representation 0..1csBinding: Binary Data Encoding Value Set (required)
..... xmlText 0..1stAllows for mixed text content. If @representation='B64', this SHALL be a base64binary string.
..... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
..... thumbnail 0..1ED
.... qualifier 0..*CR
.... translation 0..*CD
... @negationInd 0..1bl
... text 0..1EDSHOULD reference the portion of section narrative text corresponding to this entry
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @compression 0..1csBinding: CompressionAlgorithm (required)
.... @integrityCheck 0..1bin
.... @integrityCheckAlgorithm 0..1csBinding: IntegrityCheckAlgorithm (2.0.0) (required)
.... @language 0..1cs
.... @mediaType 0..1csBinding: MediaType (example)
.... @representation 0..1csBinding: Binary Data Encoding Value Set (required)
.... xmlText 0..1stAllows for mixed text content. If @representation='B64', this SHALL be a base64binary string.
.... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
.... thumbnail 0..1ED
... statusCode 1..1CSBinding: ActStatus (required)
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @code 1..1csBinding: ProcedureAct statusCode (required)
.... @sdtcValueSet 0..1oidXML Namespace: urn:hl7-org:sdtc
XML: valueSet (urn:hl7-org:sdtc)
.... @sdtcValueSetVersion 0..1stXML Namespace: urn:hl7-org:sdtc
XML: valueSetVersion (urn:hl7-org:sdtc)
... effectiveTime C1..1USRealmDateTimeInterval(USCDI) Performance Time
should-value: SHOULD contain value
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @value 0..1tsIndicates historical procedure or an instance of a procedure where precision may be only a date or even a year.
Date Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
.... @operator 0..1csBinding: SetOperator (required)
.... low C0..1IVXB_TSIndicates when a procedure started
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @value 0..1tsDate Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
..... @inclusive 0..1bl
.... center 0..1TS
.... width 0..1PQ
.... high C0..1IVXB_TSIndicates when a procedure ended. If the statusCode='active', this must be after the ClinicalDcument/effectiveTime
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @value 0..1tsDate Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
..... @inclusive 0..1bl
... priorityCode 0..1CEBinding: ActPriority (required)
... languageCode 0..1CSBinding: AllLanguages (required)
... methodCode 0..1CEMethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).
... approachSiteCode 0..*CD
... targetSiteCode 0..*CDIn the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
Binding: Body Site Value Set (required)
... subject 0..1Subject
... specimen 0..*SpecimenThis specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... realmCode 0..*CS
.... typeId 0..1II
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @assigningAuthorityName 0..1st
..... @displayable 0..1bl
..... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
..... @extension 1..1st
.... templateId 0..*II
.... @typeCode 0..1csBinding: ParticipationType (required)
Fixed Value: SPC
.... specimenRole C1..1SpecimenRoleshould-id: SHOULD contain id
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @classCode 0..1csBinding: RoleClassSpecimen (required)
Fixed Value: SPEC
..... id 0..*IIIf you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).
..... sdtcIdentifiedBy 0..*IdentifiedByXML Namespace: urn:hl7-org:sdtc
XML: identifiedBy (urn:hl7-org:sdtc)
..... specimenPlayingEntity 0..1PlayingEntity
... performer 0..*Performer2
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... realmCode 0..*CS
.... typeId 0..1II
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @assigningAuthorityName 0..1st
..... @displayable 0..1bl
..... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
..... @extension 1..1st
.... templateId 0..*II
.... @typeCode 0..1csBinding: ParticipationPhysicalPerformer (required)
Fixed Value: PRF
.... sdtcFunctionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: functionCode (urn:hl7-org:sdtc)
.... time 0..1IVL_TS
.... modeCode 0..1CE
.... assignedEntity C1..1AssignedEntityshould-assignedPerson: SHOULD contain assignedPerson
should-representedOrganization: SHOULD contain representedOrganization
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @classCode 0..1csBinding: RoleClassAssignedEntity (required)
Fixed Value: ASSIGNED
..... id 1..*II
..... sdtcIdentifiedBy 0..*IdentifiedByXML Namespace: urn:hl7-org:sdtc
XML: identifiedBy (urn:hl7-org:sdtc)
..... code 0..1CEBinding: v3 Code System RoleCode (example)
..... addr C1..*USRealmAddressBase for all types and resources
..... telecom 1..*TEL
..... assignedPerson 0..1Person
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... realmCode 0..*CS
...... typeId 0..1II
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... @assigningAuthorityName 0..1st
....... @displayable 0..1bl
....... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
....... @extension 1..1st
...... templateId 0..*II
...... @classCode 0..1csBinding: EntityClassLivingSubject (required)
Fixed Value: PSN
...... @determinerCode 0..1csBinding: EntityDeterminer (required)
Fixed Value: INSTANCE
...... name C1..*USRealmPersonNamePNUSFIELDEDBase for all types and resources
...... sdtcDesc 0..1EDXML Namespace: urn:hl7-org:sdtc
XML: desc (urn:hl7-org:sdtc)
...... sdtcAsPatientRelationship 0..*InfrastructureRootXML Namespace: urn:hl7-org:sdtc
XML: asPatientRelationship (urn:hl7-org:sdtc)
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... realmCode 0..*CS
....... typeId 0..1II
........ @nullFlavor 0..1csBinding: CDANullFlavor (required)
........ @assigningAuthorityName 0..1st
........ @displayable 0..1bl
........ @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
........ @extension 1..1st
....... templateId 0..*II
....... @classCode 1..1csFixed Value: PRS
....... @determinerCode 0..1csFixed Value: INSTANCE
....... code 1..1CEXML Namespace: urn:hl7-org:sdtc
XML Namespace: urn:hl7-org:sdtc
..... representedOrganization C0..1Organizationshould-id: SHOULD contain id
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... realmCode 0..*CS
...... typeId 0..1II
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... @assigningAuthorityName 0..1st
....... @displayable 0..1bl
....... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
....... @extension 1..1st
...... templateId 0..*II
...... @classCode 0..1csBinding: EntityClassOrganization (required)
Fixed Value: ORG
...... @determinerCode 0..1csBinding: EntityDeterminer (required)
Fixed Value: INSTANCE
...... id 0..*II
...... name 0..*ON
...... telecom 1..*TEL
...... addr C1..*USRealmAddressBase for all types and resources
...... standardIndustryClassCode 0..1CEBinding: OrganizationIndustryClassNAICS (example)
...... asOrganizationPartOf 0..1OrganizationPartOf
..... sdtcPatient 0..1BaseXML Namespace: urn:hl7-org:sdtc
XML: patient (urn:hl7-org:sdtc)
...... id 1..1IIXML Namespace: urn:hl7-org:sdtc
XML Namespace: urn:hl7-org:sdtc
... author 0..*AuthorParticipationBase for all types and resources
... informant 0..*Informant
... Slices for participant 0..*Participant2Slice: Unordered, Open by value:typeCode
.... participant:participant1 0..*Participant2participant
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: DEV
..... @contextControlCode 0..1csBinding: ContextControl (required)
Fixed Value: OP
..... sdtcFunctionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: functionCode (urn:hl7-org:sdtc)
..... time 0..1IVL_TS
..... awarenessCode 0..1CE
..... participantRole C1..1ProductInstanceBase for all types and resources
.... participant:participant2 0..*Participant2participant
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: LOC
..... @contextControlCode 0..1csBinding: ContextControl (required)
Fixed Value: OP
..... sdtcFunctionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: functionCode (urn:hl7-org:sdtc)
..... time 0..1IVL_TS
..... awarenessCode 0..1CE
..... participantRole C1..1ServiceDeliveryLocationBase for all types and resources
... Slices for entryRelationship 0..*EntryRelationshipSlice: Unordered, Open by profile:act, profile:observation, exists:encounter
.... entryRelationship:entryRelationship1 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 1..1blFixed Value: true
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 1..1Encounter
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... realmCode 0..*CS
...... typeId 0..1II
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... @assigningAuthorityName 0..1st
....... @displayable 0..1bl
....... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
....... @extension 1..1st
...... templateId 0..*II
...... @classCode 1..1csBinding: ActClass (2.0.0) (required)
Fixed Value: ENC
...... @moodCode 1..1csBinding: XDocumentEncounterMood (2.0.0) (required)
Fixed Value: EVN
...... id 1..1IISet the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).
...... code 0..1CDBinding: ActEncounterCode (example)
...... text 0..1ED
...... statusCode 0..1CSBinding: ActStatus (required)
...... effectiveTime 0..1IVL_TS
...... sdtcDischargeDispositionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: dischargeDispositionCode (urn:hl7-org:sdtc)
...... priorityCode 0..1CEBinding: ActPriority (example)
...... subject 0..1Subject
...... specimen 0..*Specimen
...... performer 0..*Performer2
...... author 0..*Author
...... informant 0..*Informant
...... participant 0..*Participant2
...... entryRelationship 0..*EntryRelationship
...... reference 0..*Reference
...... precondition 0..*Precondition
...... sdtcPrecondition2 0..*Precondition2XML Namespace: urn:hl7-org:sdtc
XML: precondition2 (urn:hl7-org:sdtc)
...... sdtcInFulfillmentOf1 0..*InFulfillmentOf1XML Namespace: urn:hl7-org:sdtc
XML: inFulfillmentOf1 (urn:hl7-org:sdtc)
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship2 0..1EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: SUBJ
..... @inversionInd 1..1blFixed Value: true
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act C1..1InstructionBase for all types and resources
..... encounter 0..1Encounter
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship3 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation C1..1IndicationBase for all types and resources
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship4 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration C1..1MedicationActivityBase for all types and resources
..... supply 0..1Supply
.... entryRelationship:entryRelationship5 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation C1..1ReactionObservationBase for all types and resources
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship6 0..*EntryRelationshipWhen an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation C1..1AssessmentScaleObservationBase for all types and resources
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship7 0..*EntryRelationshipWhen an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act C1..1EntryReferenceBase for all types and resources
..... encounter 0..1Encounter
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
... reference 0..*Reference
... precondition 0..*Precondition
... sdtcPrecondition2 0..*Precondition2XML Namespace: urn:hl7-org:sdtc
XML: precondition2 (urn:hl7-org:sdtc)
... sdtcInFulfillmentOf1 0..*InFulfillmentOf1XML Namespace: urn:hl7-org:sdtc
XML: inFulfillmentOf1 (urn:hl7-org:sdtc)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Procedure.nullFlavorrequiredCDANullFlavor
Procedure.typeId.nullFlavorrequiredCDANullFlavor
Procedure.templateId:procedure.nullFlavorrequiredCDANullFlavor
Procedure.classCoderequiredFixed Value: PROC
Procedure.moodCoderequiredFixed Value: EVN
Procedure.codepreferredUSCoreProcedureCodes
Procedure.code.nullFlavorrequiredCDANullFlavor
Procedure.code.originalText.nullFlavorrequiredCDANullFlavor
Procedure.code.originalText.compressionrequiredCDACompressionAlgorithm
Procedure.code.originalText.integrityCheckAlgorithmrequiredIntegrityCheckAlgorithm
Procedure.code.originalText.mediaTypeexampleMediaType
Procedure.code.originalText.representationrequiredBinaryDataEncoding
Procedure.text.nullFlavorrequiredCDANullFlavor
Procedure.text.compressionrequiredCDACompressionAlgorithm
Procedure.text.integrityCheckAlgorithmrequiredIntegrityCheckAlgorithm
Procedure.text.mediaTypeexampleMediaType
Procedure.text.representationrequiredBinaryDataEncoding
Procedure.statusCoderequiredActStatus
Procedure.statusCode.nullFlavorrequiredCDANullFlavor
Procedure.statusCode.coderequiredProcedureActStatusCode
Procedure.effectiveTime.nullFlavorrequiredCDANullFlavor
Procedure.effectiveTime.operatorrequiredSetOperator
Procedure.effectiveTime.low.nullFlavorrequiredCDANullFlavor
Procedure.effectiveTime.high.nullFlavorrequiredCDANullFlavor
Procedure.priorityCoderequiredActPriority
Procedure.languageCoderequiredAllLanguages
Procedure.targetSiteCoderequiredBodySiteValueSet
Procedure.specimen.nullFlavorrequiredCDANullFlavor
Procedure.specimen.typeId.nullFlavorrequiredCDANullFlavor
Procedure.specimen.typeCoderequiredFixed Value: SPC
Procedure.specimen.specimenRole.nullFlavorrequiredCDANullFlavor
Procedure.specimen.specimenRole.typeId.nullFlavorrequiredCDANullFlavor
Procedure.specimen.specimenRole.classCoderequiredFixed Value: SPEC
Procedure.performer.nullFlavorrequiredCDANullFlavor
Procedure.performer.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.typeCoderequiredFixed Value: PRF
Procedure.performer.assignedEntity.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.classCoderequiredFixed Value: ASSIGNED
Procedure.performer.assignedEntity.codeexampleRoleCode
Procedure.performer.assignedEntity.assignedPerson.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.assignedPerson.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.assignedPerson.classCoderequiredFixed Value: PSN
Procedure.performer.assignedEntity.assignedPerson.determinerCoderequiredFixed Value: INSTANCE
Procedure.performer.assignedEntity.assignedPerson.sdtcAsPatientRelationship.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.assignedPerson.sdtcAsPatientRelationship.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.representedOrganization.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.representedOrganization.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.representedOrganization.classCoderequiredFixed Value: ORG
Procedure.performer.assignedEntity.representedOrganization.determinerCoderequiredFixed Value: INSTANCE
Procedure.performer.assignedEntity.representedOrganization.standardIndustryClassCodeexampleOrganizationIndustryClassNAICS
Procedure.participant:participant1.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant1.typeId.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant1.typeCoderequiredFixed Value: DEV
Procedure.participant:participant1.contextControlCoderequiredFixed Value: OP
Procedure.participant:participant2.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant2.typeId.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant2.typeCoderequiredFixed Value: LOC
Procedure.participant:participant2.contextControlCoderequiredFixed Value: OP
Procedure.entryRelationship:entryRelationship1.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship1.encounter.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.encounter.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.encounter.classCoderequiredFixed Value: ENC
Procedure.entryRelationship:entryRelationship1.encounter.moodCoderequiredFixed Value: EVN
Procedure.entryRelationship:entryRelationship1.encounter.codeexampleActEncounterCode
Procedure.entryRelationship:entryRelationship1.encounter.statusCoderequiredActStatus
Procedure.entryRelationship:entryRelationship1.encounter.priorityCodeexampleActPriority
Procedure.entryRelationship:entryRelationship2.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship2.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship2.typeCoderequiredFixed Value: SUBJ
Procedure.entryRelationship:entryRelationship3.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship3.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship3.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship4.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship4.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship4.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship5.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship5.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship5.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship6.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship6.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship6.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship7.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship7.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship7.typeCoderequiredFixed Value: RSON

Constraints

IdGradePath(s)DetailsRequirements
1098-7513warningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain zero or one [0..1] effectiveTime (CONF:1098-7513) such that it **SHALL** contain exactly one [1..1] @xsi:type="PIVL_TS" or "EIVL_TS" (CONF:1098-28499).
: effectiveTime.ofType(CDA.PIVL_TS).exists() or effectiveTime.ofType(CDA.EIVL_TS).exists()
81-7296errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addr**SHALL NOT** have mixed content except for white space (CONF:81-7296)
: item.xmlText.empty()
81-9371errorProcedure.performer.assignedEntity.assignedPerson.nameThe content of name **SHALL** be either a conformant Patient Name (PTN.US.FIELDED), or a string (CONF:81-9371).
: conformsTo('http://hl7.org/cda/us/ccda/StructureDefinition/USRealmPatientNamePTNUSFIELDED') or item.xmlText.exists()
81-9372errorProcedure.performer.assignedEntity.assignedPerson.nameThe string **SHALL NOT** contain name parts (CONF:81-9372).
: item.xmlText.exists() implies (item.delimiter | item.family | item.given | item.prefix | item.suffix).empty()
81-10024errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the state element is required and SHALL be selected from ValueSet StateValueSet but SHOULD have @nullFlavor if the state is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the state MAY be present but MAY be bound to different vocabularies (CONF:81-10024).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.state.exists(nullFlavor.exists() or xmlText.memberOf('http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state'))
81-10025errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the postalCode element is required but SHOULD have @nullFlavor if the postalCode is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the postalCode MAY be present but MAY be bound to different vocabularies (CONF:81-10025).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.postalCode.exists(nullFlavor.exists() or xmlText.matches('[0-9]{5}(-[0-9]{4})?'))
active-high-ts-after-documenterrorProcedureIf the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
: (statusCode.code = 'active' and effectiveTime.high.value.exists()) implies effectiveTime.high.value > %resource.effectiveTime.value
dose-unit-or-admin-uniterrorProcedure.entryRelationship:entryRelationship4.substanceAdministrationIf doseQuantity/@unit is present, then administrationUnitCode SHALL NOT be present.
: doseQuantity.unit.exists() implies administrationUnitCode.empty()
ivl-ts-centererrorProcedure.effectiveTimeCenter cannot co-exist with low or high
: center.empty() or (low.empty() and high.empty())
ivl-value-shallerrorProcedure.effectiveTimeIf a time interval contains @value, then it shall be precise to at least the day.
: value.exists() implies value.toString().length() >= 10
ivl-value-shouldwarningProcedure.effectiveTimeIf a time interval contains @value, then it SHOULD contain a time component.
: value.exists() implies value.toString().length() > 10
pn-no-lserrorProcedure.performer.assignedEntity.assignedPerson.nameNo PN name part may have a qualifier of LS.
: (item.delimiter | item.family | item.given | item.prefix | item.suffix).where(qualifier.where($this = 'LS').exists()).empty()
role-choiceerrorProcedure.participant:participant1.participantRole, Procedure.participant:participant2.participantRoleplayingDevice and playingEntity are mutually exclusive
: (playingDevice | playingEntity).count() <= 1
shall-cityerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain exactly one [1..1] city (CONF:81-7292).
: nullFlavor.exists() or item.city.count() = 1
shall-max-ad-partserrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL have at most one of each: state, city, postalCode, and country
: (item.state.empty() or item.state.count() = 1) and (item.city.empty() or item.city.count() = 1) and (item.postalCode.empty() or item.postalCode.count() = 1) and (item.country.empty() or item.country.count() = 1)
shall-streetAddressLineerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain at least one and not more than 4 streetAddressLine (CONF:81-7291).
: nullFlavor.exists() or (item.streetAddressLine.count() >= 1 and item.streetAddressLine.count() <= 4)
should-addrwarningProcedure.participant:participant2.participantRoleSHOULD contain addr
: addr.exists()
should-assignedPersonwarningProcedure.performer.assignedEntitySHOULD contain assignedPerson
: assignedPerson.exists()
should-authorwarningProcedureSHOULD contain author
: author.exists()
should-authorwarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain author
: author.exists()
should-countrywarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain country
: nullFlavor.exists() or item.country.exists()
should-effectiveTimewarningProcedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship5.observationSHOULD contain effectiveTime
: effectiveTime.exists()
should-idwarningProcedure.specimen.specimenRole, Procedure.performer.assignedEntity.representedOrganizationSHOULD contain id
: id.exists()
should-otext-ref-valuewarningProcedure.codeSHOULD contain originalText/reference/@value
: originalText.reference.value.exists()
should-performerwarningProcedureSHOULD contain performer
: performer.exists()
should-representedOrganizationwarningProcedure.performer.assignedEntitySHOULD contain representedOrganization
: representedOrganization.exists()
should-routeCodewarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain routeCode
: routeCode.exists()
should-targetSiteCodewarningProcedureSHOULD contain targetSiteCode
: targetSiteCode.exists()
should-telecomwarningProcedure.participant:participant2.participantRoleSHOULD contain telecom
: telecom.exists()
should-text-ref-valuewarningProcedureSHOULD contain text/reference/@value
: text.reference.value.exists()
should-text-ref-valuewarningProcedure.entryRelationship:entryRelationship2.act, Procedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship4.substanceAdministration, Procedure.entryRelationship:entryRelationship5.observation, Procedure.entryRelationship:entryRelationship6.observation, Procedure.entryRelationship:entryRelationship7.actSHOULD contain text/reference/@value
: text.reference.value.exists()
should-usewarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain @use
: nullFlavor.exists() or use.exists()
should-valuewarningProcedure.effectiveTimeSHOULD contain value
: value.exists()
ts-shall-dayerrorProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHALL** be precise to at least the day
: nullFlavor.exists() or value.toString().length() >= 10
ts-should-minutewarningProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHOULD** be precise to at least the minute
: nullFlavor.exists() or value.toString().length() > 10
ts-value-before-documenterrorProcedure.effectiveTime, Procedure.effectiveTime.lowTime value must be equal to or before ClinicalDocument/effectiveTime
: value.exists() implies value <= %resource.effectiveTime.value
value-starts-octothorpeerrorProcedure.code.originalText.reference, Procedure.text.referenceIf reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
: value.exists() implies value.startsWith('#')

This structure is derived from Procedure

Summary

Mandatory: 9 elements (15 nested mandatory elements)
Fixed Value: 13 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Procedure.templateId is sliced based on the values of value:root, value:extension
  • The element Procedure.participant is sliced based on the value of value:typeCode
  • The element Procedure.entryRelationship is sliced based on the values of profile:act, profile:observation, exists:encounter

Differential View

This structure is derived from Procedure

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C1..1ProcedureXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors: @nullFlavor, realmCode, typeId, templateId, @classCode, @moodCode, id, code, @negationInd, text, statusCode, effectiveTime, priorityCode, languageCode, methodCode, approachSiteCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, sdtcPrecondition2, sdtcInFulfillmentOf1
Base for all types and resources
Instances of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
should-text-ref-value: SHOULD contain text/reference/@value
active-high-ts-after-document: If the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
should-targetSiteCode: SHOULD contain targetSiteCode
should-performer: SHOULD contain performer
should-author: SHOULD contain author
... Slices for templateId 1..*IISlice: Unordered, Open by value:root, value:extension
.... templateId:procedure 1..1II
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.14
..... @extension 1..1stRequired Pattern: 2024-05-01
... @classCode 1..1cs
... @moodCode 1..1csFixed Value: EVN
... code C1..1CDBinding: US Core Procedure Codes (preferred)
Additional BindingsPurposeDocumentation
Social Determinants of Health ProceduresPreferred Binding
For Social Determinant of Health Interventions

should-otext-ref-value: SHOULD contain originalText/reference/@value
.... originalText 0..1EDSHOULD reference the portion of narrative corresponding to this code
..... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... text 0..1EDSHOULD reference the portion of section narrative text corresponding to this entry
.... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... statusCode 1..1CS
.... @code 1..1csBinding: ProcedureAct statusCode (required)
... effectiveTime C1..1USRealmDateTimeInterval(USCDI) Performance Time
should-value: SHOULD contain value
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... @value 0..1tsIndicates historical procedure or an instance of a procedure where precision may be only a date or even a year.
.... low C0..1IVXB_TSIndicates when a procedure started
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... high 0..1IVXB_TSIndicates when a procedure ended. If the statusCode='active', this must be after the ClinicalDcument/effectiveTime
... priorityCode 0..1CEBinding: ActPriority (required)
... methodCode 0..1CEMethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).
... targetSiteCode 0..*CDIn the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
Binding: Body Site Value Set (required)
... specimen 0..*SpecimenThis specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
.... specimenRole C1..1SpecimenRoleshould-id: SHOULD contain id
..... id 0..*IIIf you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).
... performer 0..*Performer2
.... assignedEntity C1..1AssignedEntityshould-assignedPerson: SHOULD contain assignedPerson
should-representedOrganization: SHOULD contain representedOrganization
..... id 1..*II
..... addr 1..*USRealmAddressBase for all types and resources
..... telecom 1..*TEL
..... assignedPerson 0..1Person
...... name 1..*USRealmPersonNamePNUSFIELDEDBase for all types and resources
..... representedOrganization C0..1Organizationshould-id: SHOULD contain id
...... id 0..*II
...... name 0..*ON
...... telecom 1..*TEL
...... addr 1..*USRealmAddressBase for all types and resources
... author 0..*AuthorParticipationBase for all types and resources
... Slices for participant 0..*Participant2Slice: Unordered, Open by value:typeCode
.... participant:participant1 0..*Participant2participant
..... @typeCode 1..1csFixed Value: DEV
..... participantRole 1..1ProductInstanceBase for all types and resources
.... participant:participant2 0..*Participant2participant
..... @typeCode 1..1csFixed Value: LOC
..... participantRole 1..1ServiceDeliveryLocationBase for all types and resources
... Slices for entryRelationship 0..*EntryRelationshipSlice: Unordered, Open by profile:act, profile:observation, exists:encounter
.... entryRelationship:entryRelationship1 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: COMP
..... @inversionInd 1..1blFixed Value: true
..... encounter 1..1Encounter
...... @classCode 1..1cs
...... @moodCode 1..1csFixed Value: EVN
...... id 1..1IISet the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).
.... entryRelationship:entryRelationship2 0..1EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: SUBJ
..... @inversionInd 1..1blFixed Value: true
..... act 1..1InstructionBase for all types and resources
.... entryRelationship:entryRelationship3 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: RSON
..... observation 1..1IndicationBase for all types and resources
.... entryRelationship:entryRelationship4 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: COMP
..... substanceAdministration 1..1MedicationActivityBase for all types and resources
.... entryRelationship:entryRelationship5 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csFixed Value: COMP
..... observation 1..1ReactionObservationBase for all types and resources
.... entryRelationship:entryRelationship6 0..*EntryRelationshipWhen an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csFixed Value: RSON
..... observation 1..1AssessmentScaleObservationBase for all types and resources
.... entryRelationship:entryRelationship7 0..*EntryRelationshipWhen an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csFixed Value: RSON
..... act 1..1EntryReferenceBase for all types and resources

doco Documentation for this format

Terminology Bindings (Differential)

PathConformanceValueSet
Procedure.codepreferredUSCoreProcedureCodes
Procedure.statusCode.coderequiredProcedureActStatusCode
Procedure.priorityCoderequiredActPriority
Procedure.targetSiteCoderequiredBodySiteValueSet

Constraints

IdGradePath(s)DetailsRequirements
active-high-ts-after-documenterrorProcedureIf the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
: (statusCode.code = 'active' and effectiveTime.high.value.exists()) implies effectiveTime.high.value > %resource.effectiveTime.value
should-assignedPersonwarningProcedure.performer.assignedEntitySHOULD contain assignedPerson
: assignedPerson.exists()
should-authorwarningProcedureSHOULD contain author
: author.exists()
should-idwarningProcedure.specimen.specimenRole, Procedure.performer.assignedEntity.representedOrganizationSHOULD contain id
: id.exists()
should-otext-ref-valuewarningProcedure.codeSHOULD contain originalText/reference/@value
: originalText.reference.value.exists()
should-performerwarningProcedureSHOULD contain performer
: performer.exists()
should-representedOrganizationwarningProcedure.performer.assignedEntitySHOULD contain representedOrganization
: representedOrganization.exists()
should-targetSiteCodewarningProcedureSHOULD contain targetSiteCode
: targetSiteCode.exists()
should-text-ref-valuewarningProcedureSHOULD contain text/reference/@value
: text.reference.value.exists()
should-valuewarningProcedure.effectiveTimeSHOULD contain value
: value.exists()
ts-value-before-documenterrorProcedure.effectiveTime, Procedure.effectiveTime.lowTime value must be equal to or before ClinicalDocument/effectiveTime
: value.exists() implies value <= %resource.effectiveTime.value
value-starts-octothorpeerrorProcedure.code.originalText.reference, Procedure.text.referenceIf reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
: value.exists() implies value.startsWith('#')

Key Elements View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C1..1ProcedureXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors: @nullFlavor, realmCode, typeId, templateId, @classCode, @moodCode, id, code, @negationInd, text, statusCode, effectiveTime, priorityCode, languageCode, methodCode, approachSiteCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, sdtcPrecondition2, sdtcInFulfillmentOf1
Base for all types and resources
Instances of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
should-text-ref-value: SHOULD contain text/reference/@value
active-high-ts-after-document: If the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
should-targetSiteCode: SHOULD contain targetSiteCode
should-performer: SHOULD contain performer
should-author: SHOULD contain author
... Slices for templateId 1..*IISlice: Unordered, Open by value:root, value:extension
.... templateId:procedure 1..1II
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.14
..... @extension 1..1stRequired Pattern: 2024-05-01
... @classCode 1..1csBinding: ActClassProcedure (required)
Fixed Value: PROC
... @moodCode 1..1csBinding: x_DocumentProcedureMood (required)
Fixed Value: EVN
... code C1..1CDBinding: US Core Procedure Codes (preferred)
Additional BindingsPurposeDocumentation
Social Determinants of Health ProceduresPreferred Binding
For Social Determinant of Health Interventions

should-otext-ref-value: SHOULD contain originalText/reference/@value
.... originalText 0..1EDSHOULD reference the portion of narrative corresponding to this code
..... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... text 0..1EDSHOULD reference the portion of section narrative text corresponding to this entry
.... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
... statusCode 1..1CSBinding: ActStatus (required)
.... @code 1..1csBinding: ProcedureAct statusCode (required)
... effectiveTime C1..1USRealmDateTimeInterval(USCDI) Performance Time
should-value: SHOULD contain value
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... @value 0..1tsIndicates historical procedure or an instance of a procedure where precision may be only a date or even a year.
Date Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
.... low C0..1IVXB_TSIndicates when a procedure started
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... high C0..1IVXB_TSIndicates when a procedure ended. If the statusCode='active', this must be after the ClinicalDcument/effectiveTime
... priorityCode 0..1CEBinding: ActPriority (required)
... methodCode 0..1CEMethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).
... targetSiteCode 0..*CDIn the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
Binding: Body Site Value Set (required)
... specimen 0..*SpecimenThis specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
.... specimenRole C1..1SpecimenRoleshould-id: SHOULD contain id
..... id 0..*IIIf you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).
... performer 0..*Performer2
.... assignedEntity C1..1AssignedEntityshould-assignedPerson: SHOULD contain assignedPerson
should-representedOrganization: SHOULD contain representedOrganization
..... id 1..*II
..... addr C1..*USRealmAddressBase for all types and resources
..... telecom 1..*TEL
..... assignedPerson 0..1Person
...... name C1..*USRealmPersonNamePNUSFIELDEDBase for all types and resources
..... representedOrganization C0..1Organizationshould-id: SHOULD contain id
...... id 0..*II
...... name 0..*ON
...... telecom 1..*TEL
...... addr C1..*USRealmAddressBase for all types and resources
... author 0..*AuthorParticipationBase for all types and resources
... Slices for participant 0..*Participant2Slice: Unordered, Open by value:typeCode
.... participant:participant1 0..*Participant2participant
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: DEV
..... participantRole C1..1ProductInstanceBase for all types and resources
.... participant:participant2 0..*Participant2participant
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: LOC
..... participantRole C1..1ServiceDeliveryLocationBase for all types and resources
... Slices for entryRelationship 0..*EntryRelationshipSlice: Unordered, Open by profile:act, profile:observation, exists:encounter
.... entryRelationship:entryRelationship1 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 1..1blFixed Value: true
..... encounter 1..1Encounter
...... @classCode 1..1csBinding: ActClass (2.0.0) (required)
Fixed Value: ENC
...... @moodCode 1..1csBinding: XDocumentEncounterMood (2.0.0) (required)
Fixed Value: EVN
...... id 1..1IISet the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).
.... entryRelationship:entryRelationship2 0..1EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: SUBJ
..... @inversionInd 1..1blFixed Value: true
..... act C1..1InstructionBase for all types and resources
.... entryRelationship:entryRelationship3 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... observation C1..1IndicationBase for all types and resources
.... entryRelationship:entryRelationship4 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... substanceAdministration C1..1MedicationActivityBase for all types and resources
.... entryRelationship:entryRelationship5 0..*EntryRelationshipentryRelationship
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... observation C1..1ReactionObservationBase for all types and resources
.... entryRelationship:entryRelationship6 0..*EntryRelationshipWhen an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... observation C1..1AssessmentScaleObservationBase for all types and resources
.... entryRelationship:entryRelationship7 0..*EntryRelationshipWhen an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... act C1..1EntryReferenceBase for all types and resources

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Procedure.classCoderequiredFixed Value: PROC
Procedure.moodCoderequiredFixed Value: EVN
Procedure.codepreferredUSCoreProcedureCodes
Procedure.statusCoderequiredActStatus
Procedure.statusCode.coderequiredProcedureActStatusCode
Procedure.priorityCoderequiredActPriority
Procedure.targetSiteCoderequiredBodySiteValueSet
Procedure.participant:participant1.typeCoderequiredFixed Value: DEV
Procedure.participant:participant2.typeCoderequiredFixed Value: LOC
Procedure.entryRelationship:entryRelationship1.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship1.encounter.classCoderequiredFixed Value: ENC
Procedure.entryRelationship:entryRelationship1.encounter.moodCoderequiredFixed Value: EVN
Procedure.entryRelationship:entryRelationship2.typeCoderequiredFixed Value: SUBJ
Procedure.entryRelationship:entryRelationship3.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship4.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship5.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship6.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship7.typeCoderequiredFixed Value: RSON

Constraints

IdGradePath(s)DetailsRequirements
1098-7513warningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain zero or one [0..1] effectiveTime (CONF:1098-7513) such that it **SHALL** contain exactly one [1..1] @xsi:type="PIVL_TS" or "EIVL_TS" (CONF:1098-28499).
: effectiveTime.ofType(CDA.PIVL_TS).exists() or effectiveTime.ofType(CDA.EIVL_TS).exists()
81-7296errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addr**SHALL NOT** have mixed content except for white space (CONF:81-7296)
: item.xmlText.empty()
81-9371errorProcedure.performer.assignedEntity.assignedPerson.nameThe content of name **SHALL** be either a conformant Patient Name (PTN.US.FIELDED), or a string (CONF:81-9371).
: conformsTo('http://hl7.org/cda/us/ccda/StructureDefinition/USRealmPatientNamePTNUSFIELDED') or item.xmlText.exists()
81-9372errorProcedure.performer.assignedEntity.assignedPerson.nameThe string **SHALL NOT** contain name parts (CONF:81-9372).
: item.xmlText.exists() implies (item.delimiter | item.family | item.given | item.prefix | item.suffix).empty()
81-10024errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the state element is required and SHALL be selected from ValueSet StateValueSet but SHOULD have @nullFlavor if the state is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the state MAY be present but MAY be bound to different vocabularies (CONF:81-10024).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.state.exists(nullFlavor.exists() or xmlText.memberOf('http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state'))
81-10025errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the postalCode element is required but SHOULD have @nullFlavor if the postalCode is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the postalCode MAY be present but MAY be bound to different vocabularies (CONF:81-10025).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.postalCode.exists(nullFlavor.exists() or xmlText.matches('[0-9]{5}(-[0-9]{4})?'))
active-high-ts-after-documenterrorProcedureIf the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
: (statusCode.code = 'active' and effectiveTime.high.value.exists()) implies effectiveTime.high.value > %resource.effectiveTime.value
dose-unit-or-admin-uniterrorProcedure.entryRelationship:entryRelationship4.substanceAdministrationIf doseQuantity/@unit is present, then administrationUnitCode SHALL NOT be present.
: doseQuantity.unit.exists() implies administrationUnitCode.empty()
ivl-ts-centererrorProcedure.effectiveTimeCenter cannot co-exist with low or high
: center.empty() or (low.empty() and high.empty())
ivl-value-shallerrorProcedure.effectiveTimeIf a time interval contains @value, then it shall be precise to at least the day.
: value.exists() implies value.toString().length() >= 10
ivl-value-shouldwarningProcedure.effectiveTimeIf a time interval contains @value, then it SHOULD contain a time component.
: value.exists() implies value.toString().length() > 10
pn-no-lserrorProcedure.performer.assignedEntity.assignedPerson.nameNo PN name part may have a qualifier of LS.
: (item.delimiter | item.family | item.given | item.prefix | item.suffix).where(qualifier.where($this = 'LS').exists()).empty()
role-choiceerrorProcedure.participant:participant1.participantRole, Procedure.participant:participant2.participantRoleplayingDevice and playingEntity are mutually exclusive
: (playingDevice | playingEntity).count() <= 1
shall-cityerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain exactly one [1..1] city (CONF:81-7292).
: nullFlavor.exists() or item.city.count() = 1
shall-max-ad-partserrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL have at most one of each: state, city, postalCode, and country
: (item.state.empty() or item.state.count() = 1) and (item.city.empty() or item.city.count() = 1) and (item.postalCode.empty() or item.postalCode.count() = 1) and (item.country.empty() or item.country.count() = 1)
shall-streetAddressLineerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain at least one and not more than 4 streetAddressLine (CONF:81-7291).
: nullFlavor.exists() or (item.streetAddressLine.count() >= 1 and item.streetAddressLine.count() <= 4)
should-addrwarningProcedure.participant:participant2.participantRoleSHOULD contain addr
: addr.exists()
should-assignedPersonwarningProcedure.performer.assignedEntitySHOULD contain assignedPerson
: assignedPerson.exists()
should-authorwarningProcedureSHOULD contain author
: author.exists()
should-authorwarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain author
: author.exists()
should-countrywarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain country
: nullFlavor.exists() or item.country.exists()
should-effectiveTimewarningProcedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship5.observationSHOULD contain effectiveTime
: effectiveTime.exists()
should-idwarningProcedure.specimen.specimenRole, Procedure.performer.assignedEntity.representedOrganizationSHOULD contain id
: id.exists()
should-otext-ref-valuewarningProcedure.codeSHOULD contain originalText/reference/@value
: originalText.reference.value.exists()
should-performerwarningProcedureSHOULD contain performer
: performer.exists()
should-representedOrganizationwarningProcedure.performer.assignedEntitySHOULD contain representedOrganization
: representedOrganization.exists()
should-routeCodewarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain routeCode
: routeCode.exists()
should-targetSiteCodewarningProcedureSHOULD contain targetSiteCode
: targetSiteCode.exists()
should-telecomwarningProcedure.participant:participant2.participantRoleSHOULD contain telecom
: telecom.exists()
should-text-ref-valuewarningProcedureSHOULD contain text/reference/@value
: text.reference.value.exists()
should-text-ref-valuewarningProcedure.entryRelationship:entryRelationship2.act, Procedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship4.substanceAdministration, Procedure.entryRelationship:entryRelationship5.observation, Procedure.entryRelationship:entryRelationship6.observation, Procedure.entryRelationship:entryRelationship7.actSHOULD contain text/reference/@value
: text.reference.value.exists()
should-usewarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain @use
: nullFlavor.exists() or use.exists()
should-valuewarningProcedure.effectiveTimeSHOULD contain value
: value.exists()
ts-shall-dayerrorProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHALL** be precise to at least the day
: nullFlavor.exists() or value.toString().length() >= 10
ts-should-minutewarningProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHOULD** be precise to at least the minute
: nullFlavor.exists() or value.toString().length() > 10
ts-value-before-documenterrorProcedure.effectiveTime, Procedure.effectiveTime.lowTime value must be equal to or before ClinicalDocument/effectiveTime
: value.exists() implies value <= %resource.effectiveTime.value
value-starts-octothorpeerrorProcedure.code.originalText.reference, Procedure.text.referenceIf reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
: value.exists() implies value.startsWith('#')

Snapshot View

NameFlagsCard.TypeDescription & Constraintsdoco
.. Procedure C1..1ProcedureXML Namespace: urn:hl7-org:v3
Elements defined in Ancestors: @nullFlavor, realmCode, typeId, templateId, @classCode, @moodCode, id, code, @negationInd, text, statusCode, effectiveTime, priorityCode, languageCode, methodCode, approachSiteCode, targetSiteCode, subject, specimen, performer, author, informant, participant, entryRelationship, reference, precondition, sdtcPrecondition2, sdtcInFulfillmentOf1
Base for all types and resources
Instances of this type are validated by templateId
Logical Container: ClinicalDocument (CDA Class)
should-text-ref-value: SHOULD contain text/reference/@value
active-high-ts-after-document: If the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
should-targetSiteCode: SHOULD contain targetSiteCode
should-performer: SHOULD contain performer
should-author: SHOULD contain author
... @nullFlavor 0..1csBinding: CDANullFlavor (required)
... realmCode 0..*CS
... typeId 0..1II
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @assigningAuthorityName 0..1st
.... @displayable 0..1bl
.... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
.... @extension 1..1st
... Slices for templateId 1..*IISlice: Unordered, Open by value:root, value:extension
.... templateId:procedure 1..1II
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @assigningAuthorityName 0..1st
..... @displayable 0..1bl
..... @root 1..1oid, uuid, ruidRequired Pattern: 2.16.840.1.113883.10.20.22.4.14
..... @extension 1..1stRequired Pattern: 2024-05-01
... @classCode 1..1csBinding: ActClassProcedure (required)
Fixed Value: PROC
... @moodCode 1..1csBinding: x_DocumentProcedureMood (required)
Fixed Value: EVN
... id 1..*II
... code C1..1CDBinding: US Core Procedure Codes (preferred)
Additional BindingsPurposeDocumentation
Social Determinants of Health ProceduresPreferred Binding
For Social Determinant of Health Interventions

should-otext-ref-value: SHOULD contain originalText/reference/@value
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @code 0..1cs
.... @codeSystem 0..1oid, uuid, ruid
.... @codeSystemName 0..1st
.... @codeSystemVersion 0..1st
.... @displayName 0..1st
.... @sdtcValueSet 0..1oidXML Namespace: urn:hl7-org:sdtc
XML: valueSet (urn:hl7-org:sdtc)
.... @sdtcValueSetVersion 0..1stXML Namespace: urn:hl7-org:sdtc
XML: valueSetVersion (urn:hl7-org:sdtc)
.... originalText 0..1EDSHOULD reference the portion of narrative corresponding to this code
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @compression 0..1csBinding: CompressionAlgorithm (required)
..... @integrityCheck 0..1bin
..... @integrityCheckAlgorithm 0..1csBinding: IntegrityCheckAlgorithm (2.0.0) (required)
..... @language 0..1cs
..... @mediaType 0..1csBinding: MediaType (example)
..... @representation 0..1csBinding: Binary Data Encoding Value Set (required)
..... xmlText 0..1stAllows for mixed text content. If @representation='B64', this SHALL be a base64binary string.
..... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
..... thumbnail 0..1ED
.... qualifier 0..*CR
.... translation 0..*CD
... @negationInd 0..1bl
... text 0..1EDSHOULD reference the portion of section narrative text corresponding to this entry
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @compression 0..1csBinding: CompressionAlgorithm (required)
.... @integrityCheck 0..1bin
.... @integrityCheckAlgorithm 0..1csBinding: IntegrityCheckAlgorithm (2.0.0) (required)
.... @language 0..1cs
.... @mediaType 0..1csBinding: MediaType (example)
.... @representation 0..1csBinding: Binary Data Encoding Value Set (required)
.... xmlText 0..1stAllows for mixed text content. If @representation='B64', this SHALL be a base64binary string.
.... reference C0..1TELvalue-starts-octothorpe: If reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
.... thumbnail 0..1ED
... statusCode 1..1CSBinding: ActStatus (required)
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @code 1..1csBinding: ProcedureAct statusCode (required)
.... @sdtcValueSet 0..1oidXML Namespace: urn:hl7-org:sdtc
XML: valueSet (urn:hl7-org:sdtc)
.... @sdtcValueSetVersion 0..1stXML Namespace: urn:hl7-org:sdtc
XML: valueSetVersion (urn:hl7-org:sdtc)
... effectiveTime C1..1USRealmDateTimeInterval(USCDI) Performance Time
should-value: SHOULD contain value
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... @value 0..1tsIndicates historical procedure or an instance of a procedure where precision may be only a date or even a year.
Date Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
.... @operator 0..1csBinding: SetOperator (required)
.... low C0..1IVXB_TSIndicates when a procedure started
ts-value-before-document: Time value must be equal to or before ClinicalDocument/effectiveTime
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @value 0..1tsDate Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
..... @inclusive 0..1bl
.... center 0..1TS
.... width 0..1PQ
.... high C0..1IVXB_TSIndicates when a procedure ended. If the statusCode='active', this must be after the ClinicalDcument/effectiveTime
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @value 0..1tsDate Format: YYYYMMDDHHMMSS.UUUU[+|-ZZzz]
..... @inclusive 0..1bl
... priorityCode 0..1CEBinding: ActPriority (required)
... languageCode 0..1CSBinding: AllLanguages (required)
... methodCode 0..1CEMethodCode **SHALL NOT** conflict with the method inherent in Procedure / code (CONF:4515-7890).
... approachSiteCode 0..*CD
... targetSiteCode 0..*CDIn the case of an implanted medical device, targetSiteCode is used to record the location of the device, in or on the patient's body.
Binding: Body Site Value Set (required)
... subject 0..1Subject
... specimen 0..*SpecimenThis specimen is for representing specimens obtained from a procedure (CONF:4515-16842).
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... realmCode 0..*CS
.... typeId 0..1II
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @assigningAuthorityName 0..1st
..... @displayable 0..1bl
..... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
..... @extension 1..1st
.... templateId 0..*II
.... @typeCode 0..1csBinding: ParticipationType (required)
Fixed Value: SPC
.... specimenRole C1..1SpecimenRoleshould-id: SHOULD contain id
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @classCode 0..1csBinding: RoleClassSpecimen (required)
Fixed Value: SPEC
..... id 0..*IIIf you want to indicate that the Procedure and the Results are referring to the same specimen, the Procedure/specimen/specimenRole/id **SHOULD** be set to equal an Organizer/specimen/specimenRole/id (CONF:4515-29744).
..... sdtcIdentifiedBy 0..*IdentifiedByXML Namespace: urn:hl7-org:sdtc
XML: identifiedBy (urn:hl7-org:sdtc)
..... specimenPlayingEntity 0..1PlayingEntity
... performer 0..*Performer2
.... @nullFlavor 0..1csBinding: CDANullFlavor (required)
.... realmCode 0..*CS
.... typeId 0..1II
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... @assigningAuthorityName 0..1st
..... @displayable 0..1bl
..... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
..... @extension 1..1st
.... templateId 0..*II
.... @typeCode 0..1csBinding: ParticipationPhysicalPerformer (required)
Fixed Value: PRF
.... sdtcFunctionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: functionCode (urn:hl7-org:sdtc)
.... time 0..1IVL_TS
.... modeCode 0..1CE
.... assignedEntity C1..1AssignedEntityshould-assignedPerson: SHOULD contain assignedPerson
should-representedOrganization: SHOULD contain representedOrganization
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @classCode 0..1csBinding: RoleClassAssignedEntity (required)
Fixed Value: ASSIGNED
..... id 1..*II
..... sdtcIdentifiedBy 0..*IdentifiedByXML Namespace: urn:hl7-org:sdtc
XML: identifiedBy (urn:hl7-org:sdtc)
..... code 0..1CEBinding: v3 Code System RoleCode (example)
..... addr C1..*USRealmAddressBase for all types and resources
..... telecom 1..*TEL
..... assignedPerson 0..1Person
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... realmCode 0..*CS
...... typeId 0..1II
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... @assigningAuthorityName 0..1st
....... @displayable 0..1bl
....... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
....... @extension 1..1st
...... templateId 0..*II
...... @classCode 0..1csBinding: EntityClassLivingSubject (required)
Fixed Value: PSN
...... @determinerCode 0..1csBinding: EntityDeterminer (required)
Fixed Value: INSTANCE
...... name C1..*USRealmPersonNamePNUSFIELDEDBase for all types and resources
...... sdtcDesc 0..1EDXML Namespace: urn:hl7-org:sdtc
XML: desc (urn:hl7-org:sdtc)
...... sdtcAsPatientRelationship 0..*InfrastructureRootXML Namespace: urn:hl7-org:sdtc
XML: asPatientRelationship (urn:hl7-org:sdtc)
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... realmCode 0..*CS
....... typeId 0..1II
........ @nullFlavor 0..1csBinding: CDANullFlavor (required)
........ @assigningAuthorityName 0..1st
........ @displayable 0..1bl
........ @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
........ @extension 1..1st
....... templateId 0..*II
....... @classCode 1..1csFixed Value: PRS
....... @determinerCode 0..1csFixed Value: INSTANCE
....... code 1..1CEXML Namespace: urn:hl7-org:sdtc
XML Namespace: urn:hl7-org:sdtc
..... representedOrganization C0..1Organizationshould-id: SHOULD contain id
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... realmCode 0..*CS
...... typeId 0..1II
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... @assigningAuthorityName 0..1st
....... @displayable 0..1bl
....... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
....... @extension 1..1st
...... templateId 0..*II
...... @classCode 0..1csBinding: EntityClassOrganization (required)
Fixed Value: ORG
...... @determinerCode 0..1csBinding: EntityDeterminer (required)
Fixed Value: INSTANCE
...... id 0..*II
...... name 0..*ON
...... telecom 1..*TEL
...... addr C1..*USRealmAddressBase for all types and resources
...... standardIndustryClassCode 0..1CEBinding: OrganizationIndustryClassNAICS (example)
...... asOrganizationPartOf 0..1OrganizationPartOf
..... sdtcPatient 0..1BaseXML Namespace: urn:hl7-org:sdtc
XML: patient (urn:hl7-org:sdtc)
...... id 1..1IIXML Namespace: urn:hl7-org:sdtc
XML Namespace: urn:hl7-org:sdtc
... author 0..*AuthorParticipationBase for all types and resources
... informant 0..*Informant
... Slices for participant 0..*Participant2Slice: Unordered, Open by value:typeCode
.... participant:participant1 0..*Participant2participant
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: DEV
..... @contextControlCode 0..1csBinding: ContextControl (required)
Fixed Value: OP
..... sdtcFunctionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: functionCode (urn:hl7-org:sdtc)
..... time 0..1IVL_TS
..... awarenessCode 0..1CE
..... participantRole C1..1ProductInstanceBase for all types and resources
.... participant:participant2 0..*Participant2participant
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: ParticipationType (required)
Fixed Value: LOC
..... @contextControlCode 0..1csBinding: ContextControl (required)
Fixed Value: OP
..... sdtcFunctionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: functionCode (urn:hl7-org:sdtc)
..... time 0..1IVL_TS
..... awarenessCode 0..1CE
..... participantRole C1..1ServiceDeliveryLocationBase for all types and resources
... Slices for entryRelationship 0..*EntryRelationshipSlice: Unordered, Open by profile:act, profile:observation, exists:encounter
.... entryRelationship:entryRelationship1 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 1..1blFixed Value: true
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 1..1Encounter
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... realmCode 0..*CS
...... typeId 0..1II
....... @nullFlavor 0..1csBinding: CDANullFlavor (required)
....... @assigningAuthorityName 0..1st
....... @displayable 0..1bl
....... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
....... @extension 1..1st
...... templateId 0..*II
...... @classCode 1..1csBinding: ActClass (2.0.0) (required)
Fixed Value: ENC
...... @moodCode 1..1csBinding: XDocumentEncounterMood (2.0.0) (required)
Fixed Value: EVN
...... id 1..1IISet the encounter ID to the ID of an encounter in another section to signify they are the same encounter (CONF:4515-16843).
...... code 0..1CDBinding: ActEncounterCode (example)
...... text 0..1ED
...... statusCode 0..1CSBinding: ActStatus (required)
...... effectiveTime 0..1IVL_TS
...... sdtcDischargeDispositionCode 0..1CEXML Namespace: urn:hl7-org:sdtc
XML: dischargeDispositionCode (urn:hl7-org:sdtc)
...... priorityCode 0..1CEBinding: ActPriority (example)
...... subject 0..1Subject
...... specimen 0..*Specimen
...... performer 0..*Performer2
...... author 0..*Author
...... informant 0..*Informant
...... participant 0..*Participant2
...... entryRelationship 0..*EntryRelationship
...... reference 0..*Reference
...... precondition 0..*Precondition
...... sdtcPrecondition2 0..*Precondition2XML Namespace: urn:hl7-org:sdtc
XML: precondition2 (urn:hl7-org:sdtc)
...... sdtcInFulfillmentOf1 0..*InFulfillmentOf1XML Namespace: urn:hl7-org:sdtc
XML: inFulfillmentOf1 (urn:hl7-org:sdtc)
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship2 0..1EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: SUBJ
..... @inversionInd 1..1blFixed Value: true
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act C1..1InstructionBase for all types and resources
..... encounter 0..1Encounter
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship3 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation C1..1IndicationBase for all types and resources
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship4 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration C1..1MedicationActivityBase for all types and resources
..... supply 0..1Supply
.... entryRelationship:entryRelationship5 0..*EntryRelationshipentryRelationship
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: COMP
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation C1..1ReactionObservationBase for all types and resources
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship6 0..*EntryRelationshipWhen an Assessment Scale Observation is contained in a Procedure Template instance that is a Social Determinant of Health intervention procedure, that Assessment scale **MAY** contain Assessment Scale observations that represent LOINC question and answer pairs from SDOH screening instruments.
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act 0..1Act
..... encounter 0..1Encounter
..... observation C1..1AssessmentScaleObservationBase for all types and resources
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
.... entryRelationship:entryRelationship7 0..*EntryRelationshipWhen an Entry Reference Template is contained in a Procedure Template instance that is a Social Determinant of Health procedure, that Entry Reference **MAY** refer to Assessment Scale Observation in the same document that represent LOINC question and answer pairs from SDOH screening instruments.
..... @nullFlavor 0..1csBinding: CDANullFlavor (required)
..... realmCode 0..*CS
..... typeId 0..1II
...... @nullFlavor 0..1csBinding: CDANullFlavor (required)
...... @assigningAuthorityName 0..1st
...... @displayable 0..1bl
...... @root 1..1oid, uuid, ruidFixed Value: 2.16.840.1.113883.1.3
...... @extension 1..1st
..... templateId 0..*II
..... @typeCode 1..1csBinding: x_ActRelationshipEntryRelationship (required)
Fixed Value: RSON
..... @inversionInd 0..1bl
..... @contextConductionInd 0..1bl
..... @negationInd 0..1bl
..... sequenceNumber 0..1INT
..... seperatableInd 0..1BL
..... act C1..1EntryReferenceBase for all types and resources
..... encounter 0..1Encounter
..... observation 0..1Observation
..... observationMedia 0..1ObservationMedia
..... organizer 0..1Organizer
..... procedure 0..1Procedure
..... regionOfInterest 0..1RegionOfInterest
..... substanceAdministration 0..1SubstanceAdministration
..... supply 0..1Supply
... reference 0..*Reference
... precondition 0..*Precondition
... sdtcPrecondition2 0..*Precondition2XML Namespace: urn:hl7-org:sdtc
XML: precondition2 (urn:hl7-org:sdtc)
... sdtcInFulfillmentOf1 0..*InFulfillmentOf1XML Namespace: urn:hl7-org:sdtc
XML: inFulfillmentOf1 (urn:hl7-org:sdtc)

doco Documentation for this format

Terminology Bindings

PathConformanceValueSet / Code
Procedure.nullFlavorrequiredCDANullFlavor
Procedure.typeId.nullFlavorrequiredCDANullFlavor
Procedure.templateId:procedure.nullFlavorrequiredCDANullFlavor
Procedure.classCoderequiredFixed Value: PROC
Procedure.moodCoderequiredFixed Value: EVN
Procedure.codepreferredUSCoreProcedureCodes
Procedure.code.nullFlavorrequiredCDANullFlavor
Procedure.code.originalText.nullFlavorrequiredCDANullFlavor
Procedure.code.originalText.compressionrequiredCDACompressionAlgorithm
Procedure.code.originalText.integrityCheckAlgorithmrequiredIntegrityCheckAlgorithm
Procedure.code.originalText.mediaTypeexampleMediaType
Procedure.code.originalText.representationrequiredBinaryDataEncoding
Procedure.text.nullFlavorrequiredCDANullFlavor
Procedure.text.compressionrequiredCDACompressionAlgorithm
Procedure.text.integrityCheckAlgorithmrequiredIntegrityCheckAlgorithm
Procedure.text.mediaTypeexampleMediaType
Procedure.text.representationrequiredBinaryDataEncoding
Procedure.statusCoderequiredActStatus
Procedure.statusCode.nullFlavorrequiredCDANullFlavor
Procedure.statusCode.coderequiredProcedureActStatusCode
Procedure.effectiveTime.nullFlavorrequiredCDANullFlavor
Procedure.effectiveTime.operatorrequiredSetOperator
Procedure.effectiveTime.low.nullFlavorrequiredCDANullFlavor
Procedure.effectiveTime.high.nullFlavorrequiredCDANullFlavor
Procedure.priorityCoderequiredActPriority
Procedure.languageCoderequiredAllLanguages
Procedure.targetSiteCoderequiredBodySiteValueSet
Procedure.specimen.nullFlavorrequiredCDANullFlavor
Procedure.specimen.typeId.nullFlavorrequiredCDANullFlavor
Procedure.specimen.typeCoderequiredFixed Value: SPC
Procedure.specimen.specimenRole.nullFlavorrequiredCDANullFlavor
Procedure.specimen.specimenRole.typeId.nullFlavorrequiredCDANullFlavor
Procedure.specimen.specimenRole.classCoderequiredFixed Value: SPEC
Procedure.performer.nullFlavorrequiredCDANullFlavor
Procedure.performer.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.typeCoderequiredFixed Value: PRF
Procedure.performer.assignedEntity.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.classCoderequiredFixed Value: ASSIGNED
Procedure.performer.assignedEntity.codeexampleRoleCode
Procedure.performer.assignedEntity.assignedPerson.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.assignedPerson.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.assignedPerson.classCoderequiredFixed Value: PSN
Procedure.performer.assignedEntity.assignedPerson.determinerCoderequiredFixed Value: INSTANCE
Procedure.performer.assignedEntity.assignedPerson.sdtcAsPatientRelationship.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.assignedPerson.sdtcAsPatientRelationship.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.representedOrganization.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.representedOrganization.typeId.nullFlavorrequiredCDANullFlavor
Procedure.performer.assignedEntity.representedOrganization.classCoderequiredFixed Value: ORG
Procedure.performer.assignedEntity.representedOrganization.determinerCoderequiredFixed Value: INSTANCE
Procedure.performer.assignedEntity.representedOrganization.standardIndustryClassCodeexampleOrganizationIndustryClassNAICS
Procedure.participant:participant1.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant1.typeId.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant1.typeCoderequiredFixed Value: DEV
Procedure.participant:participant1.contextControlCoderequiredFixed Value: OP
Procedure.participant:participant2.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant2.typeId.nullFlavorrequiredCDANullFlavor
Procedure.participant:participant2.typeCoderequiredFixed Value: LOC
Procedure.participant:participant2.contextControlCoderequiredFixed Value: OP
Procedure.entryRelationship:entryRelationship1.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship1.encounter.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.encounter.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship1.encounter.classCoderequiredFixed Value: ENC
Procedure.entryRelationship:entryRelationship1.encounter.moodCoderequiredFixed Value: EVN
Procedure.entryRelationship:entryRelationship1.encounter.codeexampleActEncounterCode
Procedure.entryRelationship:entryRelationship1.encounter.statusCoderequiredActStatus
Procedure.entryRelationship:entryRelationship1.encounter.priorityCodeexampleActPriority
Procedure.entryRelationship:entryRelationship2.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship2.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship2.typeCoderequiredFixed Value: SUBJ
Procedure.entryRelationship:entryRelationship3.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship3.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship3.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship4.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship4.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship4.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship5.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship5.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship5.typeCoderequiredFixed Value: COMP
Procedure.entryRelationship:entryRelationship6.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship6.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship6.typeCoderequiredFixed Value: RSON
Procedure.entryRelationship:entryRelationship7.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship7.typeId.nullFlavorrequiredCDANullFlavor
Procedure.entryRelationship:entryRelationship7.typeCoderequiredFixed Value: RSON

Constraints

IdGradePath(s)DetailsRequirements
1098-7513warningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain zero or one [0..1] effectiveTime (CONF:1098-7513) such that it **SHALL** contain exactly one [1..1] @xsi:type="PIVL_TS" or "EIVL_TS" (CONF:1098-28499).
: effectiveTime.ofType(CDA.PIVL_TS).exists() or effectiveTime.ofType(CDA.EIVL_TS).exists()
81-7296errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addr**SHALL NOT** have mixed content except for white space (CONF:81-7296)
: item.xmlText.empty()
81-9371errorProcedure.performer.assignedEntity.assignedPerson.nameThe content of name **SHALL** be either a conformant Patient Name (PTN.US.FIELDED), or a string (CONF:81-9371).
: conformsTo('http://hl7.org/cda/us/ccda/StructureDefinition/USRealmPatientNamePTNUSFIELDED') or item.xmlText.exists()
81-9372errorProcedure.performer.assignedEntity.assignedPerson.nameThe string **SHALL NOT** contain name parts (CONF:81-9372).
: item.xmlText.exists() implies (item.delimiter | item.family | item.given | item.prefix | item.suffix).empty()
81-10024errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the state element is required and SHALL be selected from ValueSet StateValueSet but SHOULD have @nullFlavor if the state is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the state MAY be present but MAY be bound to different vocabularies (CONF:81-10024).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.state.exists(nullFlavor.exists() or xmlText.memberOf('http://hl7.org/fhir/us/core/ValueSet/us-core-usps-state'))
81-10025errorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrIf the country is US, the postalCode element is required but SHOULD have @nullFlavor if the postalCode is unknown. If country is not specified, it's assumed to be US. If country is something other than US, the postalCode MAY be present but MAY be bound to different vocabularies (CONF:81-10025).
: nullFlavor.exists() or (item.country.exists() and item.country.xmlText != 'US' and item.country.xmlText != 'USA') or item.postalCode.exists(nullFlavor.exists() or xmlText.matches('[0-9]{5}(-[0-9]{4})?'))
active-high-ts-after-documenterrorProcedureIf the procedure is active and contains a high effectiveTime, this time SHALL be after the ClinicalDocument/effectiveTime
: (statusCode.code = 'active' and effectiveTime.high.value.exists()) implies effectiveTime.high.value > %resource.effectiveTime.value
dose-unit-or-admin-uniterrorProcedure.entryRelationship:entryRelationship4.substanceAdministrationIf doseQuantity/@unit is present, then administrationUnitCode SHALL NOT be present.
: doseQuantity.unit.exists() implies administrationUnitCode.empty()
ivl-ts-centererrorProcedure.effectiveTimeCenter cannot co-exist with low or high
: center.empty() or (low.empty() and high.empty())
ivl-value-shallerrorProcedure.effectiveTimeIf a time interval contains @value, then it shall be precise to at least the day.
: value.exists() implies value.toString().length() >= 10
ivl-value-shouldwarningProcedure.effectiveTimeIf a time interval contains @value, then it SHOULD contain a time component.
: value.exists() implies value.toString().length() > 10
pn-no-lserrorProcedure.performer.assignedEntity.assignedPerson.nameNo PN name part may have a qualifier of LS.
: (item.delimiter | item.family | item.given | item.prefix | item.suffix).where(qualifier.where($this = 'LS').exists()).empty()
role-choiceerrorProcedure.participant:participant1.participantRole, Procedure.participant:participant2.participantRoleplayingDevice and playingEntity are mutually exclusive
: (playingDevice | playingEntity).count() <= 1
shall-cityerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain exactly one [1..1] city (CONF:81-7292).
: nullFlavor.exists() or item.city.count() = 1
shall-max-ad-partserrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL have at most one of each: state, city, postalCode, and country
: (item.state.empty() or item.state.count() = 1) and (item.city.empty() or item.city.count() = 1) and (item.postalCode.empty() or item.postalCode.count() = 1) and (item.country.empty() or item.country.count() = 1)
shall-streetAddressLineerrorProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHALL contain at least one and not more than 4 streetAddressLine (CONF:81-7291).
: nullFlavor.exists() or (item.streetAddressLine.count() >= 1 and item.streetAddressLine.count() <= 4)
should-addrwarningProcedure.participant:participant2.participantRoleSHOULD contain addr
: addr.exists()
should-assignedPersonwarningProcedure.performer.assignedEntitySHOULD contain assignedPerson
: assignedPerson.exists()
should-authorwarningProcedureSHOULD contain author
: author.exists()
should-authorwarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain author
: author.exists()
should-countrywarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain country
: nullFlavor.exists() or item.country.exists()
should-effectiveTimewarningProcedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship5.observationSHOULD contain effectiveTime
: effectiveTime.exists()
should-idwarningProcedure.specimen.specimenRole, Procedure.performer.assignedEntity.representedOrganizationSHOULD contain id
: id.exists()
should-otext-ref-valuewarningProcedure.codeSHOULD contain originalText/reference/@value
: originalText.reference.value.exists()
should-performerwarningProcedureSHOULD contain performer
: performer.exists()
should-representedOrganizationwarningProcedure.performer.assignedEntitySHOULD contain representedOrganization
: representedOrganization.exists()
should-routeCodewarningProcedure.entryRelationship:entryRelationship4.substanceAdministrationSHOULD contain routeCode
: routeCode.exists()
should-targetSiteCodewarningProcedureSHOULD contain targetSiteCode
: targetSiteCode.exists()
should-telecomwarningProcedure.participant:participant2.participantRoleSHOULD contain telecom
: telecom.exists()
should-text-ref-valuewarningProcedureSHOULD contain text/reference/@value
: text.reference.value.exists()
should-text-ref-valuewarningProcedure.entryRelationship:entryRelationship2.act, Procedure.entryRelationship:entryRelationship3.observation, Procedure.entryRelationship:entryRelationship4.substanceAdministration, Procedure.entryRelationship:entryRelationship5.observation, Procedure.entryRelationship:entryRelationship6.observation, Procedure.entryRelationship:entryRelationship7.actSHOULD contain text/reference/@value
: text.reference.value.exists()
should-usewarningProcedure.performer.assignedEntity.addr, Procedure.performer.assignedEntity.representedOrganization.addrSHOULD contain @use
: nullFlavor.exists() or use.exists()
should-valuewarningProcedure.effectiveTimeSHOULD contain value
: value.exists()
ts-shall-dayerrorProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHALL** be precise to at least the day
: nullFlavor.exists() or value.toString().length() >= 10
ts-should-minutewarningProcedure.effectiveTime.low, Procedure.effectiveTime.high**SHOULD** be precise to at least the minute
: nullFlavor.exists() or value.toString().length() > 10
ts-value-before-documenterrorProcedure.effectiveTime, Procedure.effectiveTime.lowTime value must be equal to or before ClinicalDocument/effectiveTime
: value.exists() implies value <= %resource.effectiveTime.value
value-starts-octothorpeerrorProcedure.code.originalText.reference, Procedure.text.referenceIf reference/@value is present, it SHALL begin with a '#' and SHALL point to its corresponding narrative
: value.exists() implies value.startsWith('#')

This structure is derived from Procedure

Summary

Mandatory: 9 elements (15 nested mandatory elements)
Fixed Value: 13 elements

Structures

This structure refers to these other structures:

Slices

This structure defines the following Slices:

  • The element Procedure.templateId is sliced based on the values of value:root, value:extension
  • The element Procedure.participant is sliced based on the value of value:typeCode
  • The element Procedure.entryRelationship is sliced based on the values of profile:act, profile:observation, exists:encounter

 

Other representations of profile: CSV, Excel