From 1d018753524ac0fc626dfdf47cf5fcd1a04191d3 Mon Sep 17 00:00:00 2001 From: Boya Wu <38548227+BoyaWu10@users.noreply.github.com> Date: Fri, 5 Mar 2021 17:12:23 +0800 Subject: [PATCH 1/4] Initial support for CDA-to-FHIR conversion (#213) * [Templates] Initial version of cda support (#196) * Add cda sample data and templates * Fix case typo * [Engine] Initial version of cda support (#195) * Add cda initial commit * Add resource templates and filters * Add section and string unit tests * Add and fix templates * Add result template and references * Add medication templates * Remove redundant namespaces and normalize namespace prefix in attributes * Add condition template * Refine parser and add templates * Move some DictionaryJsonConverter logic to CdaDataParser * Fix CdaDataParser and add unit tests * Add Condition template and remove ResourceTypeFromSection template * Add functional tests and refine unit tests * Refine processors and add references in Header template * Fix document id and add xml extension in handler * Fix spaces in templates * Add ValueSet.json and update templates * Refine TemplateLocalFileSystem and DictionaryJsonConverter * Update default value for ValueSet templates * Support single component in section filters * Refine parser and dictionary converter * Remove unused variables * Add batch render * Set template encoding to utf8 * Refine templates * Remove debug info * Remove cda sample data and templates * Refine codes according to comments * Refine parser and tests * Refine codes and tests * Remove redundant codes * Add more tests for Filters.Now * Refine codes and add more tests * Refine linq in CdaDataParser * Make BaseProcessor abstract * Update CDA functional test results for default codes --- data/SampleData/Cda/170.314B2_Amb_CCD.cda | 2026 +++++++ data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda | 3412 ++++++++++++ .../CCD-Parent-Document-Replace-C-CDAR2.1.cda | 1030 ++++ data/SampleData/Cda/CCD.cda | 1055 ++++ data/SampleData/Cda/CDA_with_Embedded_PDF.cda | 131 + data/SampleData/Cda/Care_Plan.cda | 1345 +++++ ...lt-Document-Closing-Referral-C-CDAR2.1.cda | 283 + data/SampleData/Cda/Consultation_Note.cda | 2096 +++++++ .../Cda/Diagnostic_Imaging_Report.cda | 577 ++ data/SampleData/Cda/Discharge_Summary.cda | 1625 ++++++ data/SampleData/Cda/History_and_Physical.cda | 2145 +++++++ data/SampleData/Cda/Operative_Note.cda | 820 +++ .../PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda | 1127 ++++ data/SampleData/Cda/Patient-1.cda | 3532 ++++++++++++ ...-Organization-Direct-Address-C-CDAR2.1.cda | 91 + data/SampleData/Cda/Procedure_Note.cda | 871 +++ data/SampleData/Cda/Progress_Note.cda | 1896 +++++++ data/SampleData/Cda/Referral_Note.cda | 3161 +++++++++++ data/SampleData/Cda/Transfer_Summary.cda | 4906 +++++++++++++++++ .../Cda/Unstructured_Document_embed.cda | 271 + .../Cda/Unstructured_Document_reference.cda | 265 + data/SampleData/Cda/sample.cda | 284 + data/Templates/Cda/CCD.liquid | 18 + data/Templates/Cda/DataType/_Address.liquid | 11 + .../Cda/DataType/_CodeableConcept.liquid | 4 + data/Templates/Cda/DataType/_Coding.liquid | 3 + .../Cda/DataType/_ContactPoint.liquid | 11 + data/Templates/Cda/DataType/_HumanName.liquid | 16 + .../Templates/Cda/DataType/_Identifier.liquid | 13 + data/Templates/Cda/DataType/_Period.liquid | 2 + .../Cda/Entry/Medication/_entry.liquid | 19 + ...nceAdministration_entryRelationship.liquid | 12 + .../Templates/Cda/Entry/Problem/_entry.liquid | 1 + .../_entry_act_entryRelationship.liquid | 3 + .../Templates/Cda/Entry/Results/_entry.liquid | 4 + .../Results/_entry_organizer_component.liquid | 7 + .../Cda/Entry/SocialHistory/_entry.liquid | 3 + .../Cda/Entry/VitalSigns/_entry.liquid | 1 + .../_entry_organizer_component.liquid | 3 + .../Templates/Cda/Extension/_Ethnicity.liquid | 49 + data/Templates/Cda/Extension/_Race.liquid | 49 + data/Templates/Cda/Header.liquid | 66 + .../Account/_Coverage_Coverage.liquid | 15 + .../Reference/Account/_Guarantor_Party.liquid | 15 + .../Cda/Reference/Account/_Owner.liquid | 10 + .../Cda/Reference/Account/_PartOf.liquid | 10 + .../Cda/Reference/Account/_Subject.liquid | 12 + .../ActivityDefinition/_Location.liquid | 10 + .../_ObservationRequirement.liquid | 12 + .../_ObservationResultRequirement.liquid | 12 + .../_ProductReference.liquid | 10 + .../_SpecimenRequirement.liquid | 12 + .../_SubjectReference.liquid | 10 + .../AdverseEvent/_Contributor.liquid | 12 + .../Reference/AdverseEvent/_Encounter.liquid | 10 + .../Reference/AdverseEvent/_Location.liquid | 10 + .../Reference/AdverseEvent/_Recorder.liquid | 10 + .../AdverseEvent/_ReferenceDocument.liquid | 12 + .../AdverseEvent/_ResultingCondition.liquid | 12 + .../Cda/Reference/AdverseEvent/_Study.liquid | 12 + .../Reference/AdverseEvent/_Subject.liquid | 10 + .../_SubjectMedicalHistory.liquid | 12 + .../_SuspectEntity_Instance.liquid | 15 + .../AllergyIntolerance/_Asserter.liquid | 10 + .../AllergyIntolerance/_Encounter.liquid | 10 + .../AllergyIntolerance/_Patient.liquid | 10 + .../AllergyIntolerance/_Recorder.liquid | 10 + .../Cda/Reference/Appointment/_BasedOn.liquid | 12 + .../Appointment/_Participant_Actor.liquid | 15 + .../Appointment/_ReasonReference.liquid | 12 + .../Cda/Reference/Appointment/_Slot.liquid | 12 + .../Appointment/_SupportingInformation.liquid | 12 + .../AppointmentResponse/_Actor.liquid | 10 + .../AppointmentResponse/_Appointment.liquid | 10 + .../AuditEvent/_Agent_Location.liquid | 15 + .../Reference/AuditEvent/_Agent_Who.liquid | 15 + .../Reference/AuditEvent/_Entity_What.liquid | 15 + .../AuditEvent/_Source_Observer.liquid | 13 + .../Cda/Reference/Basic/_Author.liquid | 10 + .../Cda/Reference/Basic/_Subject.liquid | 10 + .../Reference/Binary/_SecurityContext.liquid | 10 + .../_Collection_Collector.liquid | 13 + .../_Collection_Source.liquid | 13 + .../BiologicallyDerivedProduct/_Parent.liquid | 12 + .../_Processing_Additive.liquid | 15 + .../_Request.liquid | 12 + .../Reference/BodyStructure/_Patient.liquid | 10 + .../_Implementation_Custodian.liquid | 13 + .../_Activity_OutcomeReference.liquid | 17 + .../CarePlan/_Activity_Reference.liquid | 15 + .../Cda/Reference/CarePlan/_Addresses.liquid | 12 + .../Cda/Reference/CarePlan/_Author.liquid | 10 + .../Cda/Reference/CarePlan/_BasedOn.liquid | 12 + .../Cda/Reference/CarePlan/_CareTeam.liquid | 12 + .../Reference/CarePlan/_Contributor.liquid | 12 + .../Cda/Reference/CarePlan/_Encounter.liquid | 10 + .../Cda/Reference/CarePlan/_Goal.liquid | 12 + .../Cda/Reference/CarePlan/_PartOf.liquid | 12 + .../Cda/Reference/CarePlan/_Replaces.liquid | 12 + .../Cda/Reference/CarePlan/_Subject.liquid | 10 + .../Reference/CarePlan/_SupportingInfo.liquid | 12 + .../Cda/Reference/CareTeam/_Encounter.liquid | 10 + .../CareTeam/_ManagingOrganization.liquid | 12 + .../CareTeam/_Participant_Member.liquid | 15 + .../CareTeam/_Participant_OnBehalfOf.liquid | 15 + .../CareTeam/_ReasonReference.liquid | 12 + .../Cda/Reference/CareTeam/_Subject.liquid | 10 + .../CatalogEntry/_ReferencedItem.liquid | 10 + .../CatalogEntry/_RelatedEntry_Item.liquid | 15 + .../Cda/Reference/ChargeItem/_Account.liquid | 12 + .../Cda/Reference/ChargeItem/_Context.liquid | 10 + .../Reference/ChargeItem/_CostCenter.liquid | 10 + .../Cda/Reference/ChargeItem/_Enterer.liquid | 10 + .../Cda/Reference/ChargeItem/_PartOf.liquid | 12 + .../ChargeItem/_Performer_Actor.liquid | 15 + .../ChargeItem/_PerformingOrganization.liquid | 10 + .../ChargeItem/_ProductReference.liquid | 10 + .../ChargeItem/_RequestingOrganization.liquid | 10 + .../Cda/Reference/ChargeItem/_Service.liquid | 12 + .../Cda/Reference/ChargeItem/_Subject.liquid | 10 + .../ChargeItem/_SupportingInformation.liquid | 12 + .../ChargeItemDefinition/_Instance.liquid | 12 + .../Claim/_Accident_LocationReference.liquid | 13 + .../Reference/Claim/_CareTeam_Provider.liquid | 15 + .../_Diagnosis_DiagnosisReference.liquid | 15 + .../Cda/Reference/Claim/_Enterer.liquid | 10 + .../Cda/Reference/Claim/_Facility.liquid | 10 + .../Claim/_Insurance_ClaimResponse.liquid | 15 + .../Claim/_Insurance_Coverage.liquid | 15 + .../Cda/Reference/Claim/_Insurer.liquid | 10 + .../Reference/Claim/_Item_Encounter.liquid | 17 + .../Claim/_Item_LocationReference.liquid | 15 + .../Cda/Reference/Claim/_Item_Udi.liquid | 17 + .../Claim/_OriginalPrescription.liquid | 10 + .../Cda/Reference/Claim/_Patient.liquid | 10 + .../Cda/Reference/Claim/_Payee_Party.liquid | 13 + .../Cda/Reference/Claim/_Prescription.liquid | 10 + .../_Procedure_ProcedureReference.liquid | 15 + .../Cda/Reference/Claim/_Procedure_Udi.liquid | 17 + .../Cda/Reference/Claim/_Provider.liquid | 10 + .../Cda/Reference/Claim/_Referral.liquid | 10 + .../Cda/Reference/Claim/_Related_Claim.liquid | 15 + .../_SupportingInfo_ValueReference.liquid | 15 + .../_AddItem_LocationReference.liquid | 15 + .../ClaimResponse/_AddItem_Provider.liquid | 17 + .../_CommunicationRequest.liquid | 12 + .../_Insurance_ClaimResponse.liquid | 15 + .../ClaimResponse/_Insurance_Coverage.liquid | 15 + .../Reference/ClaimResponse/_Insurer.liquid | 10 + .../Reference/ClaimResponse/_Patient.liquid | 10 + .../Reference/ClaimResponse/_Request.liquid | 10 + .../Reference/ClaimResponse/_Requestor.liquid | 10 + .../ClinicalImpression/_Assessor.liquid | 10 + .../ClinicalImpression/_Encounter.liquid | 10 + .../_Finding_ItemReference.liquid | 15 + .../_Investigation_Item.liquid | 17 + .../ClinicalImpression/_Previous.liquid | 10 + .../ClinicalImpression/_Problem.liquid | 12 + .../_PrognosisReference.liquid | 12 + .../ClinicalImpression/_Subject.liquid | 10 + .../ClinicalImpression/_SupportingInfo.liquid | 12 + .../Cda/Reference/Communication/_About.liquid | 12 + .../Reference/Communication/_BasedOn.liquid | 12 + .../Reference/Communication/_Encounter.liquid | 10 + .../Communication/_InResponseTo.liquid | 12 + .../Reference/Communication/_PartOf.liquid | 12 + .../_Payload_ContentReference.liquid | 15 + .../Communication/_ReasonReference.liquid | 12 + .../Reference/Communication/_Recipient.liquid | 12 + .../Reference/Communication/_Sender.liquid | 10 + .../Reference/Communication/_Subject.liquid | 10 + .../CommunicationRequest/_About.liquid | 12 + .../CommunicationRequest/_BasedOn.liquid | 12 + .../CommunicationRequest/_Encounter.liquid | 10 + .../_Payload_ContentReference.liquid | 15 + .../_ReasonReference.liquid | 12 + .../CommunicationRequest/_Recipient.liquid | 12 + .../CommunicationRequest/_Replaces.liquid | 12 + .../CommunicationRequest/_Requester.liquid | 10 + .../CommunicationRequest/_Sender.liquid | 10 + .../CommunicationRequest/_Subject.liquid | 10 + .../Composition/_Attester_Party.liquid | 15 + .../Cda/Reference/Composition/_Author.liquid | 12 + .../Reference/Composition/_Custodian.liquid | 10 + .../Reference/Composition/_Encounter.liquid | 10 + .../Composition/_Event_Detail.liquid | 17 + .../_RelatesTo_TargetReference.liquid | 15 + .../Composition/_Section_Author.liquid | 17 + .../Composition/_Section_Entry.liquid | 17 + .../Composition/_Section_Focus.liquid | 15 + .../Cda/Reference/Composition/_Subject.liquid | 10 + .../Cda/Reference/Condition/_Asserter.liquid | 10 + .../Cda/Reference/Condition/_Encounter.liquid | 10 + .../Condition/_Evidence_Detail.liquid | 17 + .../Cda/Reference/Condition/_Recorder.liquid | 10 + .../Condition/_Stage_Assessment.liquid | 17 + .../Cda/Reference/Condition/_Subject.liquid | 10 + .../Reference/Consent/_Organization.liquid | 12 + .../Cda/Reference/Consent/_Patient.liquid | 10 + .../Cda/Reference/Consent/_Performer.liquid | 12 + .../Reference/Consent/_SourceReference.liquid | 10 + .../Consent/_Verification_VerifiedWith.liquid | 15 + .../Cda/Reference/Contract/_Author.liquid | 10 + .../Cda/Reference/Contract/_Authority.liquid | 12 + .../_ContentDefinition_Publisher.liquid | 13 + .../Cda/Reference/Contract/_Domain.liquid | 12 + .../_Friendly_ContentReference.liquid | 15 + .../Contract/_InstantiatesCanonical.liquid | 10 + .../Contract/_Legal_ContentReference.liquid | 15 + .../Contract/_LegallyBindingReference.liquid | 10 + .../Contract/_RelevantHistory.liquid | 12 + .../Contract/_Rule_ContentReference.liquid | 15 + .../Reference/Contract/_Signer_Party.liquid | 15 + .../Cda/Reference/Contract/_Site.liquid | 12 + .../Cda/Reference/Contract/_Subject.liquid | 12 + .../Reference/Contract/_SupportingInfo.liquid | 12 + .../Contract/_Term_TopicReference.liquid | 15 + .../Reference/Contract/_TopicReference.liquid | 10 + .../Reference/Coverage/_Beneficiary.liquid | 10 + .../Cda/Reference/Coverage/_Contract.liquid | 12 + .../Cda/Reference/Coverage/_Payor.liquid | 12 + .../Reference/Coverage/_PolicyHolder.liquid | 10 + .../Cda/Reference/Coverage/_Subscriber.liquid | 10 + .../_Enterer.liquid | 10 + .../_Facility.liquid | 10 + .../_Insurance_Coverage.liquid | 15 + .../_Insurer.liquid | 10 + .../_Item_Detail.liquid | 17 + .../_Item_Facility.liquid | 15 + .../_Item_Provider.liquid | 15 + .../_Patient.liquid | 10 + .../_Provider.liquid | 10 + .../_SupportingInfo_Information.liquid | 15 + .../_Insurance_Coverage.liquid | 15 + .../_Insurer.liquid | 10 + .../_Patient.liquid | 10 + .../_Request.liquid | 10 + .../_Requestor.liquid | 10 + .../Reference/DetectedIssue/_Author.liquid | 10 + .../DetectedIssue/_Evidence_Detail.liquid | 17 + .../DetectedIssue/_Implicated.liquid | 12 + .../DetectedIssue/_Mitigation_Author.liquid | 15 + .../Reference/DetectedIssue/_Patient.liquid | 10 + .../Cda/Reference/Device/_Definition.liquid | 10 + .../Cda/Reference/Device/_Location.liquid | 10 + .../Cda/Reference/Device/_Owner.liquid | 10 + .../Cda/Reference/Device/_Parent.liquid | 10 + .../Cda/Reference/Device/_Patient.liquid | 10 + .../_ManufacturerReference.liquid | 10 + .../Reference/DeviceDefinition/_Owner.liquid | 10 + .../DeviceDefinition/_ParentDevice.liquid | 10 + .../Cda/Reference/DeviceMetric/_Parent.liquid | 10 + .../Cda/Reference/DeviceMetric/_Source.liquid | 10 + .../Reference/DeviceRequest/_BasedOn.liquid | 12 + .../DeviceRequest/_CodeReference.liquid | 10 + .../Reference/DeviceRequest/_Encounter.liquid | 10 + .../Reference/DeviceRequest/_Insurance.liquid | 12 + .../Reference/DeviceRequest/_Performer.liquid | 10 + .../DeviceRequest/_PriorRequest.liquid | 12 + .../DeviceRequest/_ReasonReference.liquid | 12 + .../DeviceRequest/_RelevantHistory.liquid | 12 + .../Reference/DeviceRequest/_Requester.liquid | 10 + .../Reference/DeviceRequest/_Subject.liquid | 10 + .../DeviceRequest/_SupportingInfo.liquid | 12 + .../DeviceUseStatement/_BasedOn.liquid | 12 + .../DeviceUseStatement/_DerivedFrom.liquid | 12 + .../DeviceUseStatement/_Device.liquid | 10 + .../_ReasonReference.liquid | 12 + .../DeviceUseStatement/_Source.liquid | 10 + .../DeviceUseStatement/_Subject.liquid | 10 + .../DiagnosticReport/_BasedOn.liquid | 12 + .../DiagnosticReport/_Encounter.liquid | 10 + .../DiagnosticReport/_ImagingStudy.liquid | 12 + .../DiagnosticReport/_Media_Link.liquid | 15 + .../DiagnosticReport/_Performer.liquid | 12 + .../Reference/DiagnosticReport/_Result.liquid | 12 + .../_ResultsInterpreter.liquid | 12 + .../DiagnosticReport/_Specimen.liquid | 12 + .../DiagnosticReport/_Subject.liquid | 10 + .../Reference/DocumentManifest/_Author.liquid | 12 + .../DocumentManifest/_Content.liquid | 12 + .../DocumentManifest/_Recipient.liquid | 12 + .../DocumentManifest/_Related_Ref.liquid | 15 + .../DocumentManifest/_Subject.liquid | 10 + .../DocumentReference/_Authenticator.liquid | 10 + .../DocumentReference/_Author.liquid | 12 + .../_Context_Encounter.liquid | 15 + .../DocumentReference/_Context_Related.liquid | 15 + .../_Context_SourcePatientInfo.liquid | 13 + .../DocumentReference/_Custodian.liquid | 10 + .../_RelatesTo_Target.liquid | 15 + .../DocumentReference/_Subject.liquid | 10 + .../EffectEvidenceSynthesis/_Exposure.liquid | 10 + .../_ExposureAlternative.liquid | 10 + .../EffectEvidenceSynthesis/_Outcome.liquid | 10 + .../_Population.liquid | 10 + ...ltsByExposure_RiskEvidenceSynthesis.liquid | 15 + .../Cda/Reference/Encounter/_Account.liquid | 12 + .../Reference/Encounter/_Appointment.liquid | 12 + .../Cda/Reference/Encounter/_BasedOn.liquid | 12 + .../Encounter/_Diagnosis_Condition.liquid | 15 + .../Reference/Encounter/_EpisodeOfCare.liquid | 12 + .../_Hospitalization_Destination.liquid | 13 + .../Encounter/_Hospitalization_Origin.liquid | 13 + .../Encounter/_Location_Location.liquid | 15 + .../Cda/Reference/Encounter/_PartOf.liquid | 10 + .../Encounter/_Participant_Individual.liquid | 15 + .../Encounter/_ReasonReference.liquid | 12 + .../Encounter/_ServiceProvider.liquid | 10 + .../Cda/Reference/Encounter/_Subject.liquid | 10 + .../Endpoint/_ManagingOrganization.liquid | 10 + .../EnrollmentRequest/_Candidate.liquid | 10 + .../EnrollmentRequest/_Coverage.liquid | 10 + .../EnrollmentRequest/_Insurer.liquid | 10 + .../EnrollmentRequest/_Provider.liquid | 10 + .../EnrollmentResponse/_Organization.liquid | 10 + .../EnrollmentResponse/_Request.liquid | 10 + .../_RequestProvider.liquid | 10 + .../Reference/EpisodeOfCare/_Account.liquid | 12 + .../EpisodeOfCare/_CareManager.liquid | 10 + .../EpisodeOfCare/_Diagnosis_Condition.liquid | 15 + .../_ManagingOrganization.liquid | 10 + .../Reference/EpisodeOfCare/_Patient.liquid | 10 + .../EpisodeOfCare/_ReferralRequest.liquid | 12 + .../Cda/Reference/EpisodeOfCare/_Team.liquid | 12 + .../EventDefinition/_SubjectReference.liquid | 10 + .../Evidence/_ExposureBackground.liquid | 10 + .../Evidence/_ExposureVariant.liquid | 12 + .../Cda/Reference/Evidence/_Outcome.liquid | 12 + ..._Characteristic_DefinitionReference.liquid | 15 + .../_Accident_LocationReference.liquid | 13 + .../_AddItem_LocationReference.liquid | 15 + .../_AddItem_Provider.liquid | 17 + .../_CareTeam_Provider.liquid | 15 + .../ExplanationOfBenefit/_Claim.liquid | 10 + .../_ClaimResponse.liquid | 10 + .../_Diagnosis_DiagnosisReference.liquid | 15 + .../ExplanationOfBenefit/_Enterer.liquid | 10 + .../ExplanationOfBenefit/_Facility.liquid | 10 + .../_Insurance_Coverage.liquid | 15 + .../ExplanationOfBenefit/_Insurer.liquid | 10 + .../_Item_Encounter.liquid | 17 + .../_Item_LocationReference.liquid | 15 + .../ExplanationOfBenefit/_Item_Udi.liquid | 17 + .../_OriginalPrescription.liquid | 10 + .../ExplanationOfBenefit/_Patient.liquid | 10 + .../ExplanationOfBenefit/_Payee_Party.liquid | 13 + .../ExplanationOfBenefit/_Prescription.liquid | 10 + .../_Procedure_ProcedureReference.liquid | 15 + .../_Procedure_Udi.liquid | 17 + .../ExplanationOfBenefit/_Provider.liquid | 10 + .../ExplanationOfBenefit/_Referral.liquid | 10 + .../_Related_Claim.liquid | 15 + .../_SupportingInfo_ValueReference.liquid | 15 + .../FamilyMemberHistory/_Patient.liquid | 10 + .../_ReasonReference.liquid | 12 + .../Cda/Reference/Flag/_Author.liquid | 10 + .../Cda/Reference/Flag/_Encounter.liquid | 10 + .../Cda/Reference/Flag/_Subject.liquid | 10 + .../Cda/Reference/Goal/_Addresses.liquid | 12 + .../Cda/Reference/Goal/_ExpressedBy.liquid | 10 + .../Reference/Goal/_OutcomeReference.liquid | 12 + .../Cda/Reference/Goal/_Subject.liquid | 10 + .../_Characteristic_ValueReference.liquid | 15 + .../Reference/Group/_ManagingEntity.liquid | 10 + .../Cda/Reference/Group/_Member_Entity.liquid | 15 + .../GuidanceResponse/_Encounter.liquid | 10 + .../_EvaluationMessage.liquid | 12 + .../GuidanceResponse/_OutputParameters.liquid | 10 + .../GuidanceResponse/_Performer.liquid | 10 + .../GuidanceResponse/_ReasonReference.liquid | 12 + .../Reference/GuidanceResponse/_Result.liquid | 10 + .../GuidanceResponse/_Subject.liquid | 10 + .../HealthcareService/_CoverageArea.liquid | 12 + .../HealthcareService/_Endpoint.liquid | 12 + .../HealthcareService/_Location.liquid | 12 + .../HealthcareService/_ProvidedBy.liquid | 10 + .../Reference/ImagingStudy/_BasedOn.liquid | 12 + .../Reference/ImagingStudy/_Encounter.liquid | 10 + .../Reference/ImagingStudy/_Endpoint.liquid | 12 + .../ImagingStudy/_Interpreter.liquid | 12 + .../Reference/ImagingStudy/_Location.liquid | 10 + .../ImagingStudy/_ProcedureReference.liquid | 10 + .../ImagingStudy/_ReasonReference.liquid | 12 + .../Reference/ImagingStudy/_Referrer.liquid | 10 + .../ImagingStudy/_Series_Endpoint.liquid | 17 + .../ImagingStudy/_Series_Specimen.liquid | 17 + .../Reference/ImagingStudy/_Subject.liquid | 10 + .../Reference/Immunization/_Encounter.liquid | 10 + .../Reference/Immunization/_Location.liquid | 10 + .../Immunization/_Manufacturer.liquid | 10 + .../Reference/Immunization/_Patient.liquid | 10 + .../Immunization/_Performer_Actor.liquid | 15 + .../_ProtocolApplied_Authority.liquid | 15 + .../Immunization/_Reaction_Detail.liquid | 15 + .../Immunization/_ReasonReference.liquid | 12 + .../ImmunizationEvaluation/_Authority.liquid | 10 + .../_ImmunizationEvent.liquid | 10 + .../ImmunizationEvaluation/_Patient.liquid | 10 + .../_Authority.liquid | 10 + .../_Patient.liquid | 10 + ...commendation_SupportingImmunization.liquid | 17 + ...dation_SupportingPatientInformation.liquid | 17 + .../InsurancePlan/_AdministeredBy.liquid | 10 + .../InsurancePlan/_CoverageArea.liquid | 12 + .../InsurancePlan/_Coverage_Network.liquid | 17 + .../Reference/InsurancePlan/_Endpoint.liquid | 12 + .../Reference/InsurancePlan/_Network.liquid | 12 + .../Reference/InsurancePlan/_OwnedBy.liquid | 10 + .../InsurancePlan/_Plan_CoverageArea.liquid | 17 + .../InsurancePlan/_Plan_Network.liquid | 17 + .../Cda/Reference/Invoice/_Account.liquid | 10 + .../Cda/Reference/Invoice/_Issuer.liquid | 10 + .../_LineItem_ChargeItemReference.liquid | 15 + .../Invoice/_Participant_Actor.liquid | 15 + .../Cda/Reference/Invoice/_Recipient.liquid | 10 + .../Cda/Reference/Invoice/_Subject.liquid | 10 + .../Library/_SubjectReference.liquid | 10 + .../Cda/Reference/Linkage/_Author.liquid | 10 + .../Reference/Linkage/_Item_Resource.liquid | 15 + .../Cda/Reference/List/_Encounter.liquid | 10 + .../Cda/Reference/List/_Entry_Item.liquid | 15 + .../Cda/Reference/List/_Source.liquid | 10 + .../Cda/Reference/List/_Subject.liquid | 10 + .../Cda/Reference/Location/_Endpoint.liquid | 12 + .../Location/_ManagingOrganization.liquid | 10 + .../Cda/Reference/Location/_PartOf.liquid | 10 + .../Measure/_SubjectReference.liquid | 10 + .../MeasureReport/_EvaluatedResource.liquid | 12 + .../Reference/MeasureReport/_Reporter.liquid | 10 + .../Reference/MeasureReport/_Subject.liquid | 10 + .../Cda/Reference/Media/_BasedOn.liquid | 12 + .../Cda/Reference/Media/_Device.liquid | 10 + .../Cda/Reference/Media/_Encounter.liquid | 10 + .../Cda/Reference/Media/_Operator.liquid | 10 + .../Cda/Reference/Media/_PartOf.liquid | 12 + .../Cda/Reference/Media/_Subject.liquid | 10 + .../_Ingredient_ItemReference.liquid | 15 + .../Reference/Medication/_Manufacturer.liquid | 10 + .../MedicationAdministration/_Context.liquid | 10 + .../MedicationAdministration/_Device.liquid | 12 + .../_EventHistory.liquid | 12 + .../_MedicationReference.liquid | 10 + .../MedicationAdministration/_PartOf.liquid | 12 + .../_Performer_Actor.liquid | 15 + .../_ReasonReference.liquid | 12 + .../MedicationAdministration/_Request.liquid | 10 + .../MedicationAdministration/_Subject.liquid | 10 + .../_SupportingInformation.liquid | 12 + .../_AuthorizingPrescription.liquid | 12 + .../MedicationDispense/_Context.liquid | 10 + .../MedicationDispense/_Destination.liquid | 10 + .../MedicationDispense/_DetectedIssue.liquid | 12 + .../MedicationDispense/_EventHistory.liquid | 12 + .../MedicationDispense/_Location.liquid | 10 + .../_MedicationReference.liquid | 10 + .../MedicationDispense/_PartOf.liquid | 12 + .../_Performer_Actor.liquid | 15 + .../MedicationDispense/_Receiver.liquid | 12 + .../_StatusReasonReference.liquid | 10 + .../MedicationDispense/_Subject.liquid | 10 + .../_Substitution_ResponsibleParty.liquid | 15 + .../_SupportingInformation.liquid | 12 + ...ationGuidelines_IndicationReference.liquid | 15 + .../_AssociatedMedication.liquid | 12 + .../_Contraindication.liquid | 12 + .../_Ingredient_ItemReference.liquid | 15 + .../MedicationKnowledge/_Manufacturer.liquid | 10 + .../_Monograph_Source.liquid | 15 + .../_Regulatory_RegulatoryAuthority.liquid | 15 + ...elatedMedicationKnowledge_Reference.liquid | 17 + .../MedicationRequest/_BasedOn.liquid | 12 + .../MedicationRequest/_DetectedIssue.liquid | 12 + .../_DispenseRequest_Performer.liquid | 13 + .../MedicationRequest/_Encounter.liquid | 10 + .../MedicationRequest/_EventHistory.liquid | 12 + .../MedicationRequest/_Insurance.liquid | 12 + .../_MedicationReference.liquid | 10 + .../MedicationRequest/_Performer.liquid | 10 + .../_PriorPrescription.liquid | 10 + .../MedicationRequest/_ReasonReference.liquid | 12 + .../MedicationRequest/_Recorder.liquid | 10 + .../_ReportedReference.liquid | 10 + .../MedicationRequest/_Requester.liquid | 10 + .../MedicationRequest/_Subject.liquid | 10 + .../_SupportingInformation.liquid | 12 + .../MedicationStatement/_BasedOn.liquid | 12 + .../MedicationStatement/_Context.liquid | 10 + .../MedicationStatement/_DerivedFrom.liquid | 12 + .../_InformationSource.liquid | 10 + .../_MedicationReference.liquid | 10 + .../MedicationStatement/_PartOf.liquid | 12 + .../_ReasonReference.liquid | 12 + .../MedicationStatement/_Subject.liquid | 10 + .../MedicinalProduct/_AttachedDocument.liquid | 12 + .../MedicinalProduct/_ClinicalTrial.liquid | 12 + .../MedicinalProduct/_Contact.liquid | 12 + ...uringBusinessOperation_Manufacturer.liquid | 17 + ...acturingBusinessOperation_Regulator.liquid | 15 + .../MedicinalProduct/_MasterFile.liquid | 12 + .../_PackagedMedicinalProduct.liquid | 12 + .../_PharmaceuticalProduct.liquid | 12 + ...cialDesignation_IndicationReference.liquid | 15 + .../_Holder.liquid | 10 + .../_Regulator.liquid | 10 + .../_Subject.liquid | 10 + .../_OtherTherapy_MedicationReference.liquid | 15 + .../_Subject.liquid | 12 + .../_TherapeuticIndication.liquid | 12 + .../_OtherTherapy_MedicationReference.liquid | 15 + .../_Subject.liquid | 12 + .../_UndesirableEffect.liquid | 12 + .../_Manufacturer.liquid | 12 + .../_Interactant_ItemReference.liquid | 15 + .../_Subject.liquid | 12 + .../_Ingredient.liquid | 12 + .../_Manufacturer.liquid | 12 + .../_Manufacturer.liquid | 12 + .../_MarketingAuthorization.liquid | 10 + .../_PackageItem_Device.liquid | 17 + .../_PackageItem_ManufacturedItem.liquid | 17 + .../_PackageItem_Manufacturer.liquid | 17 + .../MedicinalProductPackaged/_Subject.liquid | 12 + .../_Device.liquid | 12 + .../_Ingredient.liquid | 12 + .../_Subject.liquid | 12 + .../Reference/MessageHeader/_Author.liquid | 10 + .../_Destination_Receiver.liquid | 15 + .../MessageHeader/_Destination_Target.liquid | 15 + .../Reference/MessageHeader/_Enterer.liquid | 10 + .../Cda/Reference/MessageHeader/_Focus.liquid | 12 + .../MessageHeader/_Response_Details.liquid | 13 + .../MessageHeader/_Responsible.liquid | 10 + .../Reference/MessageHeader/_Sender.liquid | 10 + .../MolecularSequence/_Device.liquid | 10 + .../MolecularSequence/_Patient.liquid | 10 + .../MolecularSequence/_Performer.liquid | 10 + .../MolecularSequence/_Pointer.liquid | 12 + .../_ReferenceSeq_ReferenceSeqPointer.liquid | 13 + .../MolecularSequence/_Specimen.liquid | 10 + .../_Variant_VariantPointer.liquid | 15 + .../NutritionOrder/_AllergyIntolerance.liquid | 12 + .../NutritionOrder/_Encounter.liquid | 10 + .../Reference/NutritionOrder/_Orderer.liquid | 10 + .../Reference/NutritionOrder/_Patient.liquid | 10 + .../Cda/Reference/Observation/_BasedOn.liquid | 12 + .../Reference/Observation/_DerivedFrom.liquid | 12 + .../Cda/Reference/Observation/_Device.liquid | 10 + .../Reference/Observation/_Encounter.liquid | 10 + .../Cda/Reference/Observation/_Focus.liquid | 12 + .../Reference/Observation/_HasMember.liquid | 12 + .../Cda/Reference/Observation/_PartOf.liquid | 12 + .../Reference/Observation/_Performer.liquid | 12 + .../Reference/Observation/_Specimen.liquid | 10 + .../Cda/Reference/Observation/_Subject.liquid | 10 + .../_AbnormalCodedValueSet.liquid | 10 + .../_CriticalCodedValueSet.liquid | 10 + .../_NormalCodedValueSet.liquid | 10 + .../_ValidCodedValueSet.liquid | 10 + .../Reference/Organization/_Endpoint.liquid | 12 + .../Cda/Reference/Organization/_PartOf.liquid | 10 + .../OrganizationAffiliation/_Endpoint.liquid | 12 + .../_HealthcareService.liquid | 12 + .../OrganizationAffiliation/_Location.liquid | 12 + .../OrganizationAffiliation/_Network.liquid | 12 + .../_Organization.liquid | 10 + .../_ParticipatingOrganization.liquid | 10 + .../_Parameter_ValueReference.liquid | 15 + .../Patient/_Contact_Organization.liquid | 15 + .../Patient/_GeneralPractitioner.liquid | 12 + .../Cda/Reference/Patient/_Link_Other.liquid | 15 + .../Patient/_ManagingOrganization.liquid | 10 + .../Cda/Reference/PaymentNotice/_Payee.liquid | 10 + .../Reference/PaymentNotice/_Payment.liquid | 10 + .../Reference/PaymentNotice/_Provider.liquid | 10 + .../Reference/PaymentNotice/_Recipient.liquid | 10 + .../Reference/PaymentNotice/_Request.liquid | 10 + .../Reference/PaymentNotice/_Response.liquid | 10 + .../_Detail_Payee.liquid | 15 + .../_Detail_Request.liquid | 15 + .../_Detail_Response.liquid | 15 + .../_Detail_Responsible.liquid | 15 + .../_Detail_Submitter.liquid | 15 + .../_PaymentIssuer.liquid | 10 + .../PaymentReconciliation/_Request.liquid | 10 + .../PaymentReconciliation/_Requestor.liquid | 10 + .../Cda/Reference/Person/_Link_Target.liquid | 15 + .../Person/_ManagingOrganization.liquid | 10 + .../_Action_SubjectReference.liquid | 15 + .../PlanDefinition/_SubjectReference.liquid | 10 + .../Practitioner/_Qualification_Issuer.liquid | 15 + .../PractitionerRole/_Endpoint.liquid | 12 + .../_HealthcareService.liquid | 12 + .../PractitionerRole/_Location.liquid | 12 + .../PractitionerRole/_Organization.liquid | 10 + .../PractitionerRole/_Practitioner.liquid | 10 + .../Cda/Reference/Procedure/_Asserter.liquid | 10 + .../Cda/Reference/Procedure/_BasedOn.liquid | 12 + .../Procedure/_ComplicationDetail.liquid | 12 + .../Cda/Reference/Procedure/_Encounter.liquid | 10 + .../Procedure/_FocalDevice_Manipulated.liquid | 15 + .../Cda/Reference/Procedure/_Location.liquid | 10 + .../Cda/Reference/Procedure/_PartOf.liquid | 12 + .../Procedure/_Performer_Actor.liquid | 15 + .../Procedure/_Performer_OnBehalfOf.liquid | 15 + .../Procedure/_ReasonReference.liquid | 12 + .../Cda/Reference/Procedure/_Recorder.liquid | 10 + .../Cda/Reference/Procedure/_Report.liquid | 12 + .../Cda/Reference/Procedure/_Subject.liquid | 10 + .../Reference/Procedure/_UsedReference.liquid | 12 + .../Provenance/_Agent_OnBehalfOf.liquid | 15 + .../Reference/Provenance/_Agent_Who.liquid | 15 + .../Reference/Provenance/_Entity_What.liquid | 15 + .../Cda/Reference/Provenance/_Location.liquid | 10 + .../Cda/Reference/Provenance/_Target.liquid | 12 + .../QuestionnaireResponse/_Author.liquid | 10 + .../QuestionnaireResponse/_BasedOn.liquid | 12 + .../QuestionnaireResponse/_Encounter.liquid | 10 + .../QuestionnaireResponse/_PartOf.liquid | 12 + .../QuestionnaireResponse/_Source.liquid | 10 + .../QuestionnaireResponse/_Subject.liquid | 10 + .../Reference/RelatedPerson/_Patient.liquid | 10 + .../RequestGroup/_Action_Participant.liquid | 17 + .../RequestGroup/_Action_Resource.liquid | 15 + .../Cda/Reference/RequestGroup/_Author.liquid | 10 + .../Reference/RequestGroup/_BasedOn.liquid | 12 + .../Reference/RequestGroup/_Encounter.liquid | 10 + .../RequestGroup/_ReasonReference.liquid | 12 + .../Reference/RequestGroup/_Replaces.liquid | 12 + .../Reference/RequestGroup/_Subject.liquid | 10 + .../ResearchDefinition/_Exposure.liquid | 10 + .../_ExposureAlternative.liquid | 10 + .../ResearchDefinition/_Outcome.liquid | 10 + .../ResearchDefinition/_Population.liquid | 10 + .../_SubjectReference.liquid | 10 + .../_SubjectReference.liquid | 10 + .../ResearchStudy/_Enrollment.liquid | 12 + .../Reference/ResearchStudy/_PartOf.liquid | 12 + .../_PrincipalInvestigator.liquid | 10 + .../Reference/ResearchStudy/_Protocol.liquid | 12 + .../Cda/Reference/ResearchStudy/_Site.liquid | 12 + .../Reference/ResearchStudy/_Sponsor.liquid | 10 + .../Reference/ResearchSubject/_Consent.liquid | 10 + .../ResearchSubject/_Individual.liquid | 10 + .../Reference/ResearchSubject/_Study.liquid | 10 + .../Reference/RiskAssessment/_BasedOn.liquid | 10 + .../Reference/RiskAssessment/_Basis.liquid | 12 + .../RiskAssessment/_Condition.liquid | 10 + .../RiskAssessment/_Encounter.liquid | 10 + .../Reference/RiskAssessment/_Parent.liquid | 10 + .../RiskAssessment/_Performer.liquid | 10 + .../RiskAssessment/_ReasonReference.liquid | 12 + .../Reference/RiskAssessment/_Subject.liquid | 10 + .../RiskEvidenceSynthesis/_Exposure.liquid | 10 + .../RiskEvidenceSynthesis/_Outcome.liquid | 10 + .../RiskEvidenceSynthesis/_Population.liquid | 10 + .../Cda/Reference/Schedule/_Actor.liquid | 12 + .../Reference/ServiceRequest/_BasedOn.liquid | 12 + .../ServiceRequest/_Encounter.liquid | 10 + .../ServiceRequest/_Insurance.liquid | 12 + .../ServiceRequest/_LocationReference.liquid | 12 + .../ServiceRequest/_Performer.liquid | 12 + .../ServiceRequest/_ReasonReference.liquid | 12 + .../ServiceRequest/_RelevantHistory.liquid | 12 + .../Reference/ServiceRequest/_Replaces.liquid | 12 + .../ServiceRequest/_Requester.liquid | 10 + .../Reference/ServiceRequest/_Specimen.liquid | 12 + .../Reference/ServiceRequest/_Subject.liquid | 10 + .../ServiceRequest/_SupportingInfo.liquid | 12 + .../Cda/Reference/Slot/_Schedule.liquid | 10 + .../Specimen/_Collection_Collector.liquid | 13 + .../_Container_AdditiveReference.liquid | 15 + .../Cda/Reference/Specimen/_Parent.liquid | 12 + .../Specimen/_Processing_Additive.liquid | 17 + .../Cda/Reference/Specimen/_Request.liquid | 12 + .../Cda/Reference/Specimen/_Subject.liquid | 10 + .../_Ingredient_SubstanceReference.liquid | 15 + .../_Classification_Source.liquid | 17 + .../_GeneElement_Source.liquid | 17 + .../_Gene_Source.liquid | 17 + .../_Target_Source.liquid | 17 + .../_Code_Source.liquid | 17 + .../_Name_Source.liquid | 17 + .../_NucleicAcid.liquid | 10 + .../SubstanceSpecification/_Polymer.liquid | 10 + ...Property_DefiningSubstanceReference.liquid | 15 + .../SubstanceSpecification/_Protein.liquid | 10 + .../_ReferenceInformation.liquid | 10 + .../_Relationship_Source.liquid | 17 + .../_Relationship_SubstanceReference.liquid | 15 + .../SubstanceSpecification/_Source.liquid | 12 + .../_SourceMaterial.liquid | 10 + .../_Structure_Source.liquid | 15 + .../Reference/SupplyDelivery/_BasedOn.liquid | 12 + .../SupplyDelivery/_Destination.liquid | 10 + .../Reference/SupplyDelivery/_PartOf.liquid | 12 + .../Reference/SupplyDelivery/_Patient.liquid | 10 + .../Reference/SupplyDelivery/_Receiver.liquid | 12 + .../_SuppliedItem_ItemReference.liquid | 13 + .../Reference/SupplyDelivery/_Supplier.liquid | 10 + .../SupplyRequest/_DeliverFrom.liquid | 10 + .../Reference/SupplyRequest/_DeliverTo.liquid | 10 + .../SupplyRequest/_ItemReference.liquid | 10 + .../SupplyRequest/_ReasonReference.liquid | 12 + .../Reference/SupplyRequest/_Requester.liquid | 10 + .../Reference/SupplyRequest/_Supplier.liquid | 12 + .../Cda/Reference/Task/_BasedOn.liquid | 12 + .../Cda/Reference/Task/_Encounter.liquid | 10 + .../Cda/Reference/Task/_Focus.liquid | 10 + data/Templates/Cda/Reference/Task/_For.liquid | 10 + .../Task/_Input_ValueReference.liquid | 15 + .../Cda/Reference/Task/_Insurance.liquid | 12 + .../Cda/Reference/Task/_Location.liquid | 10 + .../Task/_Output_ValueReference.liquid | 15 + .../Cda/Reference/Task/_Owner.liquid | 10 + .../Cda/Reference/Task/_PartOf.liquid | 12 + .../Reference/Task/_ReasonReference.liquid | 10 + .../Reference/Task/_RelevantHistory.liquid | 12 + .../Cda/Reference/Task/_Requester.liquid | 10 + .../Task/_Restriction_Recipient.liquid | 15 + .../Reference/TestReport/_TestScript.liquid | 10 + .../TestScript/_Fixture_Resource.liquid | 15 + .../Cda/Reference/TestScript/_Profile.liquid | 12 + .../_Attestation_OnBehalfOf.liquid | 13 + .../_Attestation_Who.liquid | 13 + .../_PrimarySource_Who.liquid | 15 + .../VerificationResult/_Target.liquid | 12 + .../_Validator_Organization.liquid | 15 + .../VisionPrescription/_Encounter.liquid | 10 + .../VisionPrescription/_Patient.liquid | 10 + .../VisionPrescription/_Prescriber.liquid | 10 + .../Cda/Resource/_AllergyIntolerance.liquid | 59 + .../Cda/Resource/_Communication.liquid | 16 + .../Cda/Resource/_Composition.liquid | 80 + data/Templates/Cda/Resource/_Condition.liquid | 49 + data/Templates/Cda/Resource/_Consent.liquid | 46 + data/Templates/Cda/Resource/_Coverage.liquid | 23 + data/Templates/Cda/Resource/_Device.liquid | 34 + .../Cda/Resource/_DiagnosticReport.liquid | 34 + .../Cda/Resource/_DocumentReference.liquid | 29 + data/Templates/Cda/Resource/_Encounter.liquid | 53 + data/Templates/Cda/Resource/_Goal.liquid | 48 + data/Templates/Cda/Resource/_Location.liquid | 37 + .../Templates/Cda/Resource/_Medication.liquid | 21 + .../Resource/_MedicationAdministration.liquid | 41 + .../Cda/Resource/_MedicationDispense.liquid | 25 + .../Cda/Resource/_MedicationRequest.liquid | 20 + .../Cda/Resource/_MedicationStatement.liquid | 39 + .../Cda/Resource/_Observation.liquid | 104 + .../Cda/Resource/_Organization.liquid | 33 + data/Templates/Cda/Resource/_Patient.liquid | 73 + .../Cda/Resource/_Practitioner.liquid | 55 + data/Templates/Cda/Resource/_Procedure.liquid | 37 + .../Cda/Resource/_RelatedPerson.liquid | 64 + .../Cda/Resource/_ServiceRequest.liquid | 29 + .../_AllergiesAndAdverseReactions.liquid | 12 + data/Templates/Cda/Section/_Medication.liquid | 2 + data/Templates/Cda/Section/_Problem.liquid | 2 + data/Templates/Cda/Section/_Results.liquid | 2 + .../Cda/Section/_SocialHistory.liquid | 2 + data/Templates/Cda/Section/_VitalSigns.liquid | 2 + data/Templates/Cda/Utils/_GenerateId.liquid | 8 + data/Templates/Cda/ValueSet/ValueSet.json | 340 ++ .../Templates/Cda/ValueSet/_AddressUse.liquid | 13 + .../Cda/ValueSet/_AllergyCategory.liquid | 19 + .../Cda/ValueSet/_AllergySeverity.liquid | 11 + .../Cda/ValueSet/_AllergyStatus.liquid | 11 + .../Cda/ValueSet/_CompositionStatus.liquid | 19 + .../ValueSet/_DiagnosticReportStatus.liquid | 29 + .../Cda/ValueSet/_EncounterStatus.liquid | 33 + .../Cda/ValueSet/_EventStatus.liquid | 33 + data/Templates/Cda/ValueSet/_FMStatus.liquid | 15 + data/Templates/Cda/ValueSet/_Language.liquid | 27 + .../_MedicationStatementStatus.liquid | 5 + data/Templates/Cda/ValueSet/_NameUse.liquid | 9 + .../Cda/ValueSet/_ObservationStatus.liquid | 27 + .../Cda/ValueSet/_RequestStatus.liquid | 23 + .../Cda/ValueSet/_SystemReference.liquid | 32 + .../Templates/Cda/ValueSet/_TelecomUse.liquid | 15 + data/Templates/Cda/metadata.json | 3 + .../FunctionalTests.cs | 92 +- ...ir.Liquid.Converter.FunctionalTests.csproj | 2 +- .../Cda/CCD/170.314B2_Amb_CCD-expected.json | 1047 ++++ .../Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json | 2135 +++++++ ...t-Document-Replace-C-CDAR2.1-expected.json | 932 ++++ .../Expected/Cda/CCD/CCD-expected.json | 1226 ++++ .../ConverterLogicHandler.cs | 39 +- .../Cda/CdaDataParserTests.cs | 88 + .../Cda/CdaProcessorTests.cs | 131 + .../Cda/CdaTemplateProviderTests.cs | 40 + .../Constants.cs | 5 +- .../Filters/CollectionFiltersTest.cs | 66 + .../Filters/DateFiltersTests.cs | 33 + .../Filters/SectionFiltersTests.cs | 96 + .../Filters/StringFiltersTests.cs | 66 + .../Hl7v2/Hl7v2DataParserTests.cs | 4 +- .../Hl7v2/Hl7v2ProcessorTests.cs | 20 + .../Hl7v2/Hl7v2TemplateProviderTests.cs | 11 +- .../BaseProcessor.cs | 76 + .../Cda/CdaDataParser.cs | 120 + .../Cda/CdaProcessor.cs | 63 + .../Cda/CdaTemplateProvider.cs | 38 + .../Cda/DictionaryJsonConverter.cs | 122 + .../DotLiquids/TemplateLocalFileSystem.cs | 19 +- .../Filters/CollectionFilters.cs | 48 + .../Filters/DateFilters.cs | 5 + .../Filters/GeneralFilters.cs | 2 +- .../Filters/SectionFilters.cs | 121 + .../Filters/StringFilters.cs | 78 +- .../Hl7v2/Hl7v2Processor.cs | 55 +- .../Models/DataType.cs | 1 + .../Resources.Designer.cs | 18 + .../Resources.resx | 6 + 813 files changed, 49862 insertions(+), 134 deletions(-) create mode 100644 data/SampleData/Cda/170.314B2_Amb_CCD.cda create mode 100644 data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda create mode 100644 data/SampleData/Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda create mode 100644 data/SampleData/Cda/CCD.cda create mode 100644 data/SampleData/Cda/CDA_with_Embedded_PDF.cda create mode 100644 data/SampleData/Cda/Care_Plan.cda create mode 100644 data/SampleData/Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda create mode 100644 data/SampleData/Cda/Consultation_Note.cda create mode 100644 data/SampleData/Cda/Diagnostic_Imaging_Report.cda create mode 100644 data/SampleData/Cda/Discharge_Summary.cda create mode 100644 data/SampleData/Cda/History_and_Physical.cda create mode 100644 data/SampleData/Cda/Operative_Note.cda create mode 100644 data/SampleData/Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda create mode 100644 data/SampleData/Cda/Patient-1.cda create mode 100644 data/SampleData/Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda create mode 100644 data/SampleData/Cda/Procedure_Note.cda create mode 100644 data/SampleData/Cda/Progress_Note.cda create mode 100644 data/SampleData/Cda/Referral_Note.cda create mode 100644 data/SampleData/Cda/Transfer_Summary.cda create mode 100644 data/SampleData/Cda/Unstructured_Document_embed.cda create mode 100644 data/SampleData/Cda/Unstructured_Document_reference.cda create mode 100644 data/SampleData/Cda/sample.cda create mode 100644 data/Templates/Cda/CCD.liquid create mode 100644 data/Templates/Cda/DataType/_Address.liquid create mode 100644 data/Templates/Cda/DataType/_CodeableConcept.liquid create mode 100644 data/Templates/Cda/DataType/_Coding.liquid create mode 100644 data/Templates/Cda/DataType/_ContactPoint.liquid create mode 100644 data/Templates/Cda/DataType/_HumanName.liquid create mode 100644 data/Templates/Cda/DataType/_Identifier.liquid create mode 100644 data/Templates/Cda/DataType/_Period.liquid create mode 100644 data/Templates/Cda/Entry/Medication/_entry.liquid create mode 100644 data/Templates/Cda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid create mode 100644 data/Templates/Cda/Entry/Problem/_entry.liquid create mode 100644 data/Templates/Cda/Entry/Problem/_entry_act_entryRelationship.liquid create mode 100644 data/Templates/Cda/Entry/Results/_entry.liquid create mode 100644 data/Templates/Cda/Entry/Results/_entry_organizer_component.liquid create mode 100644 data/Templates/Cda/Entry/SocialHistory/_entry.liquid create mode 100644 data/Templates/Cda/Entry/VitalSigns/_entry.liquid create mode 100644 data/Templates/Cda/Entry/VitalSigns/_entry_organizer_component.liquid create mode 100644 data/Templates/Cda/Extension/_Ethnicity.liquid create mode 100644 data/Templates/Cda/Extension/_Race.liquid create mode 100644 data/Templates/Cda/Header.liquid create mode 100644 data/Templates/Cda/Reference/Account/_Coverage_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/Account/_Guarantor_Party.liquid create mode 100644 data/Templates/Cda/Reference/Account/_Owner.liquid create mode 100644 data/Templates/Cda/Reference/Account/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Account/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/ActivityDefinition/_Location.liquid create mode 100644 data/Templates/Cda/Reference/ActivityDefinition/_ObservationRequirement.liquid create mode 100644 data/Templates/Cda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid create mode 100644 data/Templates/Cda/Reference/ActivityDefinition/_ProductReference.liquid create mode 100644 data/Templates/Cda/Reference/ActivityDefinition/_SpecimenRequirement.liquid create mode 100644 data/Templates/Cda/Reference/ActivityDefinition/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_Contributor.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_Location.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_Recorder.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_ReferenceDocument.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_ResultingCondition.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_Study.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid create mode 100644 data/Templates/Cda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid create mode 100644 data/Templates/Cda/Reference/AllergyIntolerance/_Asserter.liquid create mode 100644 data/Templates/Cda/Reference/AllergyIntolerance/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/AllergyIntolerance/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/AllergyIntolerance/_Recorder.liquid create mode 100644 data/Templates/Cda/Reference/Appointment/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Appointment/_Participant_Actor.liquid create mode 100644 data/Templates/Cda/Reference/Appointment/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/Appointment/_Slot.liquid create mode 100644 data/Templates/Cda/Reference/Appointment/_SupportingInformation.liquid create mode 100644 data/Templates/Cda/Reference/AppointmentResponse/_Actor.liquid create mode 100644 data/Templates/Cda/Reference/AppointmentResponse/_Appointment.liquid create mode 100644 data/Templates/Cda/Reference/AuditEvent/_Agent_Location.liquid create mode 100644 data/Templates/Cda/Reference/AuditEvent/_Agent_Who.liquid create mode 100644 data/Templates/Cda/Reference/AuditEvent/_Entity_What.liquid create mode 100644 data/Templates/Cda/Reference/AuditEvent/_Source_Observer.liquid create mode 100644 data/Templates/Cda/Reference/Basic/_Author.liquid create mode 100644 data/Templates/Cda/Reference/Basic/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Binary/_SecurityContext.liquid create mode 100644 data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid create mode 100644 data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid create mode 100644 data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Parent.liquid create mode 100644 data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid create mode 100644 data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Request.liquid create mode 100644 data/Templates/Cda/Reference/BodyStructure/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/CapabilityStatement/_Implementation_Custodian.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Activity_OutcomeReference.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Activity_Reference.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Addresses.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Author.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_CareTeam.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Contributor.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Goal.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Replaces.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/CarePlan/_SupportingInfo.liquid create mode 100644 data/Templates/Cda/Reference/CareTeam/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/CareTeam/_ManagingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/CareTeam/_Participant_Member.liquid create mode 100644 data/Templates/Cda/Reference/CareTeam/_Participant_OnBehalfOf.liquid create mode 100644 data/Templates/Cda/Reference/CareTeam/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/CareTeam/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/CatalogEntry/_ReferencedItem.liquid create mode 100644 data/Templates/Cda/Reference/CatalogEntry/_RelatedEntry_Item.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_Account.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_Context.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_CostCenter.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_Enterer.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_Performer_Actor.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_PerformingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_ProductReference.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_RequestingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_Service.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItem/_SupportingInformation.liquid create mode 100644 data/Templates/Cda/Reference/ChargeItemDefinition/_Instance.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Accident_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_CareTeam_Provider.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Enterer.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Facility.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Insurance_ClaimResponse.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Insurance_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Insurer.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Item_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Item_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Item_Udi.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_OriginalPrescription.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Payee_Party.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Prescription.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Procedure_ProcedureReference.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Procedure_Udi.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Provider.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Referral.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_Related_Claim.liquid create mode 100644 data/Templates/Cda/Reference/Claim/_SupportingInfo_ValueReference.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_AddItem_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_AddItem_Provider.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_CommunicationRequest.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_Insurance_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_Insurer.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_Request.liquid create mode 100644 data/Templates/Cda/Reference/ClaimResponse/_Requestor.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Assessor.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Finding_ItemReference.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Investigation_Item.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Previous.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Problem.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_PrognosisReference.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/ClinicalImpression/_SupportingInfo.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_About.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_InResponseTo.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_Payload_ContentReference.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_Recipient.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_Sender.liquid create mode 100644 data/Templates/Cda/Reference/Communication/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_About.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Payload_ContentReference.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Recipient.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Replaces.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Requester.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Sender.liquid create mode 100644 data/Templates/Cda/Reference/CommunicationRequest/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Attester_Party.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Author.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Custodian.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Event_Detail.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_RelatesTo_TargetReference.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Section_Author.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Section_Entry.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Section_Focus.liquid create mode 100644 data/Templates/Cda/Reference/Composition/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Condition/_Asserter.liquid create mode 100644 data/Templates/Cda/Reference/Condition/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Condition/_Evidence_Detail.liquid create mode 100644 data/Templates/Cda/Reference/Condition/_Recorder.liquid create mode 100644 data/Templates/Cda/Reference/Condition/_Stage_Assessment.liquid create mode 100644 data/Templates/Cda/Reference/Condition/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Consent/_Organization.liquid create mode 100644 data/Templates/Cda/Reference/Consent/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/Consent/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/Consent/_SourceReference.liquid create mode 100644 data/Templates/Cda/Reference/Consent/_Verification_VerifiedWith.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Author.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Authority.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_ContentDefinition_Publisher.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Domain.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Friendly_ContentReference.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_InstantiatesCanonical.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Legal_ContentReference.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_LegallyBindingReference.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_RelevantHistory.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Rule_ContentReference.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Signer_Party.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Site.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_SupportingInfo.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_Term_TopicReference.liquid create mode 100644 data/Templates/Cda/Reference/Contract/_TopicReference.liquid create mode 100644 data/Templates/Cda/Reference/Coverage/_Beneficiary.liquid create mode 100644 data/Templates/Cda/Reference/Coverage/_Contract.liquid create mode 100644 data/Templates/Cda/Reference/Coverage/_Payor.liquid create mode 100644 data/Templates/Cda/Reference/Coverage/_PolicyHolder.liquid create mode 100644 data/Templates/Cda/Reference/Coverage/_Subscriber.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Enterer.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Facility.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurer.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_Provider.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurer.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityResponse/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityResponse/_Request.liquid create mode 100644 data/Templates/Cda/Reference/CoverageEligibilityResponse/_Requestor.liquid create mode 100644 data/Templates/Cda/Reference/DetectedIssue/_Author.liquid create mode 100644 data/Templates/Cda/Reference/DetectedIssue/_Evidence_Detail.liquid create mode 100644 data/Templates/Cda/Reference/DetectedIssue/_Implicated.liquid create mode 100644 data/Templates/Cda/Reference/DetectedIssue/_Mitigation_Author.liquid create mode 100644 data/Templates/Cda/Reference/DetectedIssue/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/Device/_Definition.liquid create mode 100644 data/Templates/Cda/Reference/Device/_Location.liquid create mode 100644 data/Templates/Cda/Reference/Device/_Owner.liquid create mode 100644 data/Templates/Cda/Reference/Device/_Parent.liquid create mode 100644 data/Templates/Cda/Reference/Device/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/DeviceDefinition/_ManufacturerReference.liquid create mode 100644 data/Templates/Cda/Reference/DeviceDefinition/_Owner.liquid create mode 100644 data/Templates/Cda/Reference/DeviceDefinition/_ParentDevice.liquid create mode 100644 data/Templates/Cda/Reference/DeviceMetric/_Parent.liquid create mode 100644 data/Templates/Cda/Reference/DeviceMetric/_Source.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_CodeReference.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_Insurance.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_PriorRequest.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_RelevantHistory.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_Requester.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/DeviceRequest/_SupportingInfo.liquid create mode 100644 data/Templates/Cda/Reference/DeviceUseStatement/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/DeviceUseStatement/_DerivedFrom.liquid create mode 100644 data/Templates/Cda/Reference/DeviceUseStatement/_Device.liquid create mode 100644 data/Templates/Cda/Reference/DeviceUseStatement/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/DeviceUseStatement/_Source.liquid create mode 100644 data/Templates/Cda/Reference/DeviceUseStatement/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_ImagingStudy.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_Media_Link.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_Result.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_ResultsInterpreter.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_Specimen.liquid create mode 100644 data/Templates/Cda/Reference/DiagnosticReport/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/DocumentManifest/_Author.liquid create mode 100644 data/Templates/Cda/Reference/DocumentManifest/_Content.liquid create mode 100644 data/Templates/Cda/Reference/DocumentManifest/_Recipient.liquid create mode 100644 data/Templates/Cda/Reference/DocumentManifest/_Related_Ref.liquid create mode 100644 data/Templates/Cda/Reference/DocumentManifest/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Authenticator.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Author.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Context_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Context_Related.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Custodian.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_RelatesTo_Target.liquid create mode 100644 data/Templates/Cda/Reference/DocumentReference/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Exposure.liquid create mode 100644 data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid create mode 100644 data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Outcome.liquid create mode 100644 data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Population.liquid create mode 100644 data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Account.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Appointment.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Diagnosis_Condition.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_EpisodeOfCare.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Hospitalization_Destination.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Hospitalization_Origin.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Location_Location.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Participant_Individual.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_ServiceProvider.liquid create mode 100644 data/Templates/Cda/Reference/Encounter/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Endpoint/_ManagingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentRequest/_Candidate.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentRequest/_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentRequest/_Insurer.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentRequest/_Provider.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentResponse/_Organization.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentResponse/_Request.liquid create mode 100644 data/Templates/Cda/Reference/EnrollmentResponse/_RequestProvider.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_Account.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_CareManager.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_ManagingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_ReferralRequest.liquid create mode 100644 data/Templates/Cda/Reference/EpisodeOfCare/_Team.liquid create mode 100644 data/Templates/Cda/Reference/EventDefinition/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/Evidence/_ExposureBackground.liquid create mode 100644 data/Templates/Cda/Reference/Evidence/_ExposureVariant.liquid create mode 100644 data/Templates/Cda/Reference/Evidence/_Outcome.liquid create mode 100644 data/Templates/Cda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Claim.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Enterer.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Facility.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurer.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Udi.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Payee_Party.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Prescription.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Provider.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Referral.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_Related_Claim.liquid create mode 100644 data/Templates/Cda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid create mode 100644 data/Templates/Cda/Reference/FamilyMemberHistory/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/FamilyMemberHistory/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/Flag/_Author.liquid create mode 100644 data/Templates/Cda/Reference/Flag/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Flag/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Goal/_Addresses.liquid create mode 100644 data/Templates/Cda/Reference/Goal/_ExpressedBy.liquid create mode 100644 data/Templates/Cda/Reference/Goal/_OutcomeReference.liquid create mode 100644 data/Templates/Cda/Reference/Goal/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Group/_Characteristic_ValueReference.liquid create mode 100644 data/Templates/Cda/Reference/Group/_ManagingEntity.liquid create mode 100644 data/Templates/Cda/Reference/Group/_Member_Entity.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_EvaluationMessage.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_OutputParameters.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_Result.liquid create mode 100644 data/Templates/Cda/Reference/GuidanceResponse/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/HealthcareService/_CoverageArea.liquid create mode 100644 data/Templates/Cda/Reference/HealthcareService/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/HealthcareService/_Location.liquid create mode 100644 data/Templates/Cda/Reference/HealthcareService/_ProvidedBy.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Interpreter.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Location.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_ProcedureReference.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Referrer.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Series_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Series_Specimen.liquid create mode 100644 data/Templates/Cda/Reference/ImagingStudy/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_Location.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_Performer_Actor.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_ProtocolApplied_Authority.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_Reaction_Detail.liquid create mode 100644 data/Templates/Cda/Reference/Immunization/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationEvaluation/_Authority.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationEvaluation/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationRecommendation/_Authority.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationRecommendation/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid create mode 100644 data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_AdministeredBy.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_CoverageArea.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_Coverage_Network.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_Network.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_OwnedBy.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_Plan_CoverageArea.liquid create mode 100644 data/Templates/Cda/Reference/InsurancePlan/_Plan_Network.liquid create mode 100644 data/Templates/Cda/Reference/Invoice/_Account.liquid create mode 100644 data/Templates/Cda/Reference/Invoice/_Issuer.liquid create mode 100644 data/Templates/Cda/Reference/Invoice/_LineItem_ChargeItemReference.liquid create mode 100644 data/Templates/Cda/Reference/Invoice/_Participant_Actor.liquid create mode 100644 data/Templates/Cda/Reference/Invoice/_Recipient.liquid create mode 100644 data/Templates/Cda/Reference/Invoice/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Library/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/Linkage/_Author.liquid create mode 100644 data/Templates/Cda/Reference/Linkage/_Item_Resource.liquid create mode 100644 data/Templates/Cda/Reference/List/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/List/_Entry_Item.liquid create mode 100644 data/Templates/Cda/Reference/List/_Source.liquid create mode 100644 data/Templates/Cda/Reference/List/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Location/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/Location/_ManagingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/Location/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Measure/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/MeasureReport/_EvaluatedResource.liquid create mode 100644 data/Templates/Cda/Reference/MeasureReport/_Reporter.liquid create mode 100644 data/Templates/Cda/Reference/MeasureReport/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Media/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Media/_Device.liquid create mode 100644 data/Templates/Cda/Reference/Media/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Media/_Operator.liquid create mode 100644 data/Templates/Cda/Reference/Media/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Media/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Medication/_Ingredient_ItemReference.liquid create mode 100644 data/Templates/Cda/Reference/Medication/_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_Context.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_Device.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_EventHistory.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_MedicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_Performer_Actor.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_Request.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicationAdministration/_SupportingInformation.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_AuthorizingPrescription.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Context.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Destination.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_DetectedIssue.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_EventHistory.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Location.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_MedicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Performer_Actor.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Receiver.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_StatusReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid create mode 100644 data/Templates/Cda/Reference/MedicationDispense/_SupportingInformation.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_AssociatedMedication.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_Contraindication.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_Monograph_Source.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid create mode 100644 data/Templates/Cda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_DetectedIssue.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_EventHistory.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_Insurance.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_MedicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_PriorPrescription.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_Recorder.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_ReportedReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_Requester.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicationRequest/_SupportingInformation.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_Context.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_DerivedFrom.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_InformationSource.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_MedicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicationStatement/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_AttachedDocument.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_ClinicalTrial.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_Contact.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_MasterFile.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductAuthorization/_Holder.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductAuthorization/_Regulator.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductAuthorization/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductContraindication/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductIndication/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductIngredient/_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductInteraction/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductManufactured/_Ingredient.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductManufactured/_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPackaged/_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPackaged/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Device.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid create mode 100644 data/Templates/Cda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Author.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Destination_Receiver.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Destination_Target.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Enterer.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Focus.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Response_Details.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Responsible.liquid create mode 100644 data/Templates/Cda/Reference/MessageHeader/_Sender.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_Device.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_Pointer.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_Specimen.liquid create mode 100644 data/Templates/Cda/Reference/MolecularSequence/_Variant_VariantPointer.liquid create mode 100644 data/Templates/Cda/Reference/NutritionOrder/_AllergyIntolerance.liquid create mode 100644 data/Templates/Cda/Reference/NutritionOrder/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/NutritionOrder/_Orderer.liquid create mode 100644 data/Templates/Cda/Reference/NutritionOrder/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_DerivedFrom.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_Device.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_Focus.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_HasMember.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_Specimen.liquid create mode 100644 data/Templates/Cda/Reference/Observation/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid create mode 100644 data/Templates/Cda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid create mode 100644 data/Templates/Cda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid create mode 100644 data/Templates/Cda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid create mode 100644 data/Templates/Cda/Reference/Organization/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/Organization/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/OrganizationAffiliation/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/OrganizationAffiliation/_HealthcareService.liquid create mode 100644 data/Templates/Cda/Reference/OrganizationAffiliation/_Location.liquid create mode 100644 data/Templates/Cda/Reference/OrganizationAffiliation/_Network.liquid create mode 100644 data/Templates/Cda/Reference/OrganizationAffiliation/_Organization.liquid create mode 100644 data/Templates/Cda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/Parameters/_Parameter_ValueReference.liquid create mode 100644 data/Templates/Cda/Reference/Patient/_Contact_Organization.liquid create mode 100644 data/Templates/Cda/Reference/Patient/_GeneralPractitioner.liquid create mode 100644 data/Templates/Cda/Reference/Patient/_Link_Other.liquid create mode 100644 data/Templates/Cda/Reference/Patient/_ManagingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/PaymentNotice/_Payee.liquid create mode 100644 data/Templates/Cda/Reference/PaymentNotice/_Payment.liquid create mode 100644 data/Templates/Cda/Reference/PaymentNotice/_Provider.liquid create mode 100644 data/Templates/Cda/Reference/PaymentNotice/_Recipient.liquid create mode 100644 data/Templates/Cda/Reference/PaymentNotice/_Request.liquid create mode 100644 data/Templates/Cda/Reference/PaymentNotice/_Response.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Payee.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Request.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Response.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Responsible.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Submitter.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_PaymentIssuer.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Request.liquid create mode 100644 data/Templates/Cda/Reference/PaymentReconciliation/_Requestor.liquid create mode 100644 data/Templates/Cda/Reference/Person/_Link_Target.liquid create mode 100644 data/Templates/Cda/Reference/Person/_ManagingOrganization.liquid create mode 100644 data/Templates/Cda/Reference/PlanDefinition/_Action_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/PlanDefinition/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/Practitioner/_Qualification_Issuer.liquid create mode 100644 data/Templates/Cda/Reference/PractitionerRole/_Endpoint.liquid create mode 100644 data/Templates/Cda/Reference/PractitionerRole/_HealthcareService.liquid create mode 100644 data/Templates/Cda/Reference/PractitionerRole/_Location.liquid create mode 100644 data/Templates/Cda/Reference/PractitionerRole/_Organization.liquid create mode 100644 data/Templates/Cda/Reference/PractitionerRole/_Practitioner.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Asserter.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_ComplicationDetail.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_FocalDevice_Manipulated.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Location.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Performer_Actor.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Performer_OnBehalfOf.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Recorder.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Report.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Procedure/_UsedReference.liquid create mode 100644 data/Templates/Cda/Reference/Provenance/_Agent_OnBehalfOf.liquid create mode 100644 data/Templates/Cda/Reference/Provenance/_Agent_Who.liquid create mode 100644 data/Templates/Cda/Reference/Provenance/_Entity_What.liquid create mode 100644 data/Templates/Cda/Reference/Provenance/_Location.liquid create mode 100644 data/Templates/Cda/Reference/Provenance/_Target.liquid create mode 100644 data/Templates/Cda/Reference/QuestionnaireResponse/_Author.liquid create mode 100644 data/Templates/Cda/Reference/QuestionnaireResponse/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/QuestionnaireResponse/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/QuestionnaireResponse/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/QuestionnaireResponse/_Source.liquid create mode 100644 data/Templates/Cda/Reference/QuestionnaireResponse/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/RelatedPerson/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_Action_Participant.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_Action_Resource.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_Author.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_Replaces.liquid create mode 100644 data/Templates/Cda/Reference/RequestGroup/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/ResearchDefinition/_Exposure.liquid create mode 100644 data/Templates/Cda/Reference/ResearchDefinition/_ExposureAlternative.liquid create mode 100644 data/Templates/Cda/Reference/ResearchDefinition/_Outcome.liquid create mode 100644 data/Templates/Cda/Reference/ResearchDefinition/_Population.liquid create mode 100644 data/Templates/Cda/Reference/ResearchDefinition/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/ResearchElementDefinition/_SubjectReference.liquid create mode 100644 data/Templates/Cda/Reference/ResearchStudy/_Enrollment.liquid create mode 100644 data/Templates/Cda/Reference/ResearchStudy/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/ResearchStudy/_PrincipalInvestigator.liquid create mode 100644 data/Templates/Cda/Reference/ResearchStudy/_Protocol.liquid create mode 100644 data/Templates/Cda/Reference/ResearchStudy/_Site.liquid create mode 100644 data/Templates/Cda/Reference/ResearchStudy/_Sponsor.liquid create mode 100644 data/Templates/Cda/Reference/ResearchSubject/_Consent.liquid create mode 100644 data/Templates/Cda/Reference/ResearchSubject/_Individual.liquid create mode 100644 data/Templates/Cda/Reference/ResearchSubject/_Study.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_Basis.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_Condition.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_Parent.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/RiskAssessment/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Exposure.liquid create mode 100644 data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Outcome.liquid create mode 100644 data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Population.liquid create mode 100644 data/Templates/Cda/Reference/Schedule/_Actor.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Insurance.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_LocationReference.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Performer.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_RelevantHistory.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Replaces.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Requester.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Specimen.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/ServiceRequest/_SupportingInfo.liquid create mode 100644 data/Templates/Cda/Reference/Slot/_Schedule.liquid create mode 100644 data/Templates/Cda/Reference/Specimen/_Collection_Collector.liquid create mode 100644 data/Templates/Cda/Reference/Specimen/_Container_AdditiveReference.liquid create mode 100644 data/Templates/Cda/Reference/Specimen/_Parent.liquid create mode 100644 data/Templates/Cda/Reference/Specimen/_Processing_Additive.liquid create mode 100644 data/Templates/Cda/Reference/Specimen/_Request.liquid create mode 100644 data/Templates/Cda/Reference/Specimen/_Subject.liquid create mode 100644 data/Templates/Cda/Reference/Substance/_Ingredient_SubstanceReference.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceReferenceInformation/_Target_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Code_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Name_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_NucleicAcid.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Polymer.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Protein.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_ReferenceInformation.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Source.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_SourceMaterial.liquid create mode 100644 data/Templates/Cda/Reference/SubstanceSpecification/_Structure_Source.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_Destination.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_Receiver.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid create mode 100644 data/Templates/Cda/Reference/SupplyDelivery/_Supplier.liquid create mode 100644 data/Templates/Cda/Reference/SupplyRequest/_DeliverFrom.liquid create mode 100644 data/Templates/Cda/Reference/SupplyRequest/_DeliverTo.liquid create mode 100644 data/Templates/Cda/Reference/SupplyRequest/_ItemReference.liquid create mode 100644 data/Templates/Cda/Reference/SupplyRequest/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/SupplyRequest/_Requester.liquid create mode 100644 data/Templates/Cda/Reference/SupplyRequest/_Supplier.liquid create mode 100644 data/Templates/Cda/Reference/Task/_BasedOn.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Focus.liquid create mode 100644 data/Templates/Cda/Reference/Task/_For.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Input_ValueReference.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Insurance.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Location.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Output_ValueReference.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Owner.liquid create mode 100644 data/Templates/Cda/Reference/Task/_PartOf.liquid create mode 100644 data/Templates/Cda/Reference/Task/_ReasonReference.liquid create mode 100644 data/Templates/Cda/Reference/Task/_RelevantHistory.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Requester.liquid create mode 100644 data/Templates/Cda/Reference/Task/_Restriction_Recipient.liquid create mode 100644 data/Templates/Cda/Reference/TestReport/_TestScript.liquid create mode 100644 data/Templates/Cda/Reference/TestScript/_Fixture_Resource.liquid create mode 100644 data/Templates/Cda/Reference/TestScript/_Profile.liquid create mode 100644 data/Templates/Cda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid create mode 100644 data/Templates/Cda/Reference/VerificationResult/_Attestation_Who.liquid create mode 100644 data/Templates/Cda/Reference/VerificationResult/_PrimarySource_Who.liquid create mode 100644 data/Templates/Cda/Reference/VerificationResult/_Target.liquid create mode 100644 data/Templates/Cda/Reference/VerificationResult/_Validator_Organization.liquid create mode 100644 data/Templates/Cda/Reference/VisionPrescription/_Encounter.liquid create mode 100644 data/Templates/Cda/Reference/VisionPrescription/_Patient.liquid create mode 100644 data/Templates/Cda/Reference/VisionPrescription/_Prescriber.liquid create mode 100644 data/Templates/Cda/Resource/_AllergyIntolerance.liquid create mode 100644 data/Templates/Cda/Resource/_Communication.liquid create mode 100644 data/Templates/Cda/Resource/_Composition.liquid create mode 100644 data/Templates/Cda/Resource/_Condition.liquid create mode 100644 data/Templates/Cda/Resource/_Consent.liquid create mode 100644 data/Templates/Cda/Resource/_Coverage.liquid create mode 100644 data/Templates/Cda/Resource/_Device.liquid create mode 100644 data/Templates/Cda/Resource/_DiagnosticReport.liquid create mode 100644 data/Templates/Cda/Resource/_DocumentReference.liquid create mode 100644 data/Templates/Cda/Resource/_Encounter.liquid create mode 100644 data/Templates/Cda/Resource/_Goal.liquid create mode 100644 data/Templates/Cda/Resource/_Location.liquid create mode 100644 data/Templates/Cda/Resource/_Medication.liquid create mode 100644 data/Templates/Cda/Resource/_MedicationAdministration.liquid create mode 100644 data/Templates/Cda/Resource/_MedicationDispense.liquid create mode 100644 data/Templates/Cda/Resource/_MedicationRequest.liquid create mode 100644 data/Templates/Cda/Resource/_MedicationStatement.liquid create mode 100644 data/Templates/Cda/Resource/_Observation.liquid create mode 100644 data/Templates/Cda/Resource/_Organization.liquid create mode 100644 data/Templates/Cda/Resource/_Patient.liquid create mode 100644 data/Templates/Cda/Resource/_Practitioner.liquid create mode 100644 data/Templates/Cda/Resource/_Procedure.liquid create mode 100644 data/Templates/Cda/Resource/_RelatedPerson.liquid create mode 100644 data/Templates/Cda/Resource/_ServiceRequest.liquid create mode 100644 data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid create mode 100644 data/Templates/Cda/Section/_Medication.liquid create mode 100644 data/Templates/Cda/Section/_Problem.liquid create mode 100644 data/Templates/Cda/Section/_Results.liquid create mode 100644 data/Templates/Cda/Section/_SocialHistory.liquid create mode 100644 data/Templates/Cda/Section/_VitalSigns.liquid create mode 100644 data/Templates/Cda/Utils/_GenerateId.liquid create mode 100644 data/Templates/Cda/ValueSet/ValueSet.json create mode 100644 data/Templates/Cda/ValueSet/_AddressUse.liquid create mode 100644 data/Templates/Cda/ValueSet/_AllergyCategory.liquid create mode 100644 data/Templates/Cda/ValueSet/_AllergySeverity.liquid create mode 100644 data/Templates/Cda/ValueSet/_AllergyStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_CompositionStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_DiagnosticReportStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_EncounterStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_EventStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_FMStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_Language.liquid create mode 100644 data/Templates/Cda/ValueSet/_MedicationStatementStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_NameUse.liquid create mode 100644 data/Templates/Cda/ValueSet/_ObservationStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_RequestStatus.liquid create mode 100644 data/Templates/Cda/ValueSet/_SystemReference.liquid create mode 100644 data/Templates/Cda/ValueSet/_TelecomUse.liquid create mode 100644 data/Templates/Cda/metadata.json create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/170.314B2_Amb_CCD-expected.json create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-expected.json create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/BaseProcessor.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/Filters/CollectionFilters.cs create mode 100644 src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs diff --git a/data/SampleData/Cda/170.314B2_Amb_CCD.cda b/data/SampleData/Cda/170.314B2_Amb_CCD.cda new file mode 100644 index 000000000..fa451b68d --- /dev/null +++ b/data/SampleData/Cda/170.314B2_Amb_CCD.cda @@ -0,0 +1,2026 @@ + + + + + + + + + + + Continuity of Care Document + + + + + + + + 1234 Six Forks + Portland + OR + 97005 + US + + + + + Everyman + Adam + + + + + + + + + + + + + + + + Get Well Clinic + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + + + + + + + + + Get Well Clinic + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + Get Well Clinic + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Khan + Samir + Dr + + + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Nightingale + Nancy + RN + + + + + + + + + + + + + + + 1047 Healthcare Drive + Portland + OR + 97005 + US + + + + + Puffer + Penny + Dr + + + + + + + + + + + + + + + + + + + +
+ + + Reason For Referral + + Dr. Puffer please see this patient and evaluate by performing Pulmonary Function Tests + +
+
+ +
+ + + Functional Status + + + Functional Status Health Issues + + + + + + + + + + + + + + + + +
NameDatesDetails
+ + No Functional Impairment + + + + + +
+
+
+ + Onset: + + 15-Aug-2012 + + + + + Status: + + + +
+
+
+ + Cognitive Status Health Issues + + + + + + + + + + + + + + + + +
NameDatesDetails
+ + No Cognitive Impairment + + + + + +
+
+
+ + Onset: + + 15-Aug-2012 + + + + + Status: + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Problems + + + + + + + + + + + + + + + + + + + + + +
NameDatesDetails
+ + Costochondritis + + + + + +
+
+
+ + Onset: + + 15-Aug-2012 + + + + + Status: + Active + + +
+ + Asthma + + + + + +
+
+
+ + Onset: + + 25-Sep-2011 + + + + + Status: + Active + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Khan + Samir + Dr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Medications + + + + + + + + + + + + + + + +
NameDatesDetails
+ + Albuterol 0.09 MG/ACTUAT metered dose + + +
+
+ + + TWO PUFFS Q6H PRN AS DIRECTED. + + + +
+
+ + + Two puffs every six hours as needed for wheezing + + +
+ + + + + + + + + +
+ Started 20-Feb-2012
+
+
+ + + Active + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + Proventil + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Allergies and Adverse Reactions + + + + + + + + + + + + + + + + + + + + + +
NameDatesDetails
+ + Penicillin G benzathine + + + + + Onset: + + 10-Jan-1998 + + + + + + Reaction: + Hives + + + +
+
+ + Status: + Active + +
+ + Codeine + + + + + Onset: + + 10-Jan-2001 + + + + + + Reaction: + Nausea + + + +
+
+ + Status: + Active + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Khan + Samir + Dr + + + + + + + + + + + + + + + Penicillin G benzathine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Codeine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Immunization + + + + + + + + + + + + + + + + +
NameDatesDetails
+ + Influenza virus vaccine + + +
+
+
+ + Administered on: + + 15-Aug-2012 + + + + Site: + + Left Arm + + + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Nightingale + Nancy + RN + + + + + + + + + + + +
+
+ +
+ + + Social History + + + Smoking Status + + Never smoker + Started 2012 + + + Current some day smoker + Started 2012 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Vital Signs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateTestResultDetails
+ + + +
+ 15-Aug-2012 + +
+
+
+ Height + + 70 in + + Status: + + +
+ Weight + + 195 lb + + Status: + + +
+ BP Systolic + + 150 mm[Hg] + + Status: + + +
+ BP Diastolic + + 100 mm[Hg] + + Status: + + +
+ Body Mass Index Calculated + + 28 + + + Status: + + +
+
+ + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Khan + Samir + Dr + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Results + + + + + + + + + + + + + + + + + + + +
DateDescriptionValueDetails
+ + Resulted on: + + +
+
+ 15-Aug-2012 10:33 +
+ CO2 + + 25 mmol/L + +
+ + + +
+
+ + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Nightingale + Nancy + RN + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Plan of Care + + + Planned Observations + + + + + + + + + + + + + + + + + + + + + +
NameDatesDetails
+ + + Goal: Weight Loss + + + + + On + 15-Aug-2012 + + +
+
+ + + +
+ + Goal + +
+ + + Goal: Asthma Management + + + + + On + 15-Aug-2012 + + +
+
+ + + +
+ + Goal + +
+
+
+ + Planned Encounters + + + + + + + + +
+ + Pulmonary function Tests + + +
+
+ + Encounter Reason: + Pulmonary function Tests (reason) + + + Dr. Penny Puffer Office - need office address + + +
+
+ +
+
+ + Puffer, Penny Dr +
+ + On + 1-Feb-2013 + + +
+
+ + 00:00 + +
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + 1047 Healthcare Drive + Portland + OR + 97005 + US + + + + + Puffer + Penny + Dr + + + + + + + + + + + Dr. Penny Puffer Office - need office address + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Khan + Samir + Dr + + + + + + + + + + + + + + + + +
+ + + +
+
+ +
+ + + Instructions + + + + Asthma Management resources and instructions provided during admission + + + diet and exercise counseling material provided during visit + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+ + + Encounters + + + + + + + + +
+ + Offie Visit + + +
+
+ + Encounter Diagnosis: + Costochondritis + + + + Active + + + + Get Well Clinic + + +
+
+ +
+
+ + Khan, Samir Dr +
+ + On + 15-Aug-2012 + + +
+
+ + 09:00 + +
+
+ + + + + + + + + + + + + + + + + + + + + Get Well Clinic + 1004 Healthcare Dr. + Portland + OR + 97005 + US + + + + + Khan + Samir + Dr + + + + + + + + + + + Get Well Clinic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda b/data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda new file mode 100644 index 000000000..695964565 --- /dev/null +++ b/data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda @@ -0,0 +1,3412 @@ + + + + + + + + + + + + + + Patient Chart Summary + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + + + Eve + + Betterhalf + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + The DoctorsTogether Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + 1025 Health Drive + Portland + OR + 99123 + US + + + + + Ramsey + Reaction + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + 1017 Health Drive + Portland + OR + 99123 + US + + + + + William + Bill + Beaker + + + + Good Health Laboratory + + + + + + + + 1016 Health Drive + Portland + OR + 99123 + US + + + + + Susan + Script + Pharm.D. + + + + People's Pharmacy + + + + + + + + 1027 Health Drive + Portland + OR + 99123 + US + + + + + Patrick + Pump + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + + + Boris + Bo + Betterhalf + + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + + Sara + Specialize + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + + + + + + + + + + Primary Care Provider + + + + + + 1004 Healthcare Drive + Portland + OR + 99123 + US + + + + + Patricia + Patty + Primary + M.D. + + + + + The DoctorsTogether Physician Group + + + 1004 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + +
+ + + + + ADVANCE DIRECTIVES + + + + + + + + + + + + + + + + + + +
DirectiveDescriptionVerificationSupporting Document(s)
Resuscitation statusDo not resuscitateDr. Patricia Primary, Feb 19, 2011 + Advance directive +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1004 Health Drive + Portland + OR + 99123 + US + + + + + Dr. + Patricia + Primary + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + ALLERGIES AND ADVERSE REACTIONS + + + + + + + + + + + + + + + + + + +
SubstanceReaction
PenicillinNausea
CodeineWheezing
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + ENCOUNTERS + + + + + + + + + + + + + + + + + + +
EncounterPerformerLocationDate
Checkup Examination Performer NameCommunity Urgent Care CenterSeptember 27, 2012 at 1:00pm
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + Good Health Urgent Care + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + FAMILY HISTORY + + Father (deceased) + + + + + + + + + + + + + + + + + +
DiagnosisAge At Onset
Myocardial Infarction (cause of death)57
Diabetes40
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + FUNCTIONAL STATUS + + + + + + + + + + + + + + + + + + + + + +
Functional CategoryEffective DatesResults of Evaluation
Functional AssessmentMarch 11, 2013Independent Walking
ADL/IADL: BathingMarch 11,2013Independent
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + IMMUNIZATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VaccineDateStatusSeries number
+ Influenza, seasonal, IM Nov 1999CompletedN/A
+ Influenza, seasonal, IM Dec 1998CompletedN/A
+ Pneumococcal polysaccharide vaccine, IM Dec 1998CompletedN/A
+ Tetanus and diphtheria toxoids, IM 1997RefusedN/A
Hepatitis BAug 1, 2013Completed3rd
+
+ + + + + + + Influenza, seasonal, IM + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + + + + + Good Health Clinic + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + Possible flu-like symptoms for three days. + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + + + + + Good Health Clinic + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + Possible flu-like symptoms for three days. + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + + + + + Good Health Clinic + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + + + + + Good Health Clinic + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + MEDICAL EQUIPMENT + + Medical Equipment + + Implanted Devices: Cardiac PaceMaker July 3, 2013 + Implanted Devices: Upper GI Prosthesis, January 3, 2013 + Cane, February 2, 2003 + + Biliary Stent, May 5, 2013 + + + + + + + + Implants + + + + + + + + + + + + + + + + + + + + + + + + + Cardiac Pacemaker + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + Upper GI Prosthesis + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + + + Upper GI Prosthesis + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1004 Health Care Drive + Ann Arbor + MI + 02368 + US + + + + + Community Health and Hospitals + + + 1003 Health Care Drive + Ann Arbor + MI + 02368 + US + + + + + + +
+
+ + +
+ + + + + MEDICATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedicationDirectionsStart DateStatusIndicationsFill Instructions
Proventil 0.09 MG/ACTUAT inhalant solution2 puffs q6 hours PRN wheezingJan 3, 2011ActiveAsthmaGeneric Substitition Allowed
Atenolol 25 MG Oral Tablet1 every 12 hours OrallyMar 18, 2012ActiveHypertension-none-
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + Community Health and Hospitals + + + + + + + + + + + + + Aerosol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + + + label in spanish + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + 1016 Health Drive + Portland + OR + 99123 + US + + + + + Susan + Script + Pharm.D. + + + + People's Pharmacy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + INSURANCE PROVIDERS + + + + + + + + + + + + + + + + + + + + +
Payer namePolicy type / Coverage typePolicy IDCovered party IDPolicy Holder
Good Health InsuranceExtended healthcare / FamilyContract Number1138345Patient's Mother
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 9009 Health Drive + Portland + OR + 99123 + US + + + + Good Health Insurance + + + 9009 Health Drive + Portland + OR + 99123 + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + + + + + Boris + Betterhalf + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + + + + + Boris + Betterhalf + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + TREATMENT PLAN + + Hand-off Communication: + Nurse Florence, RN to MD to Nancy Nightingale, RN +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Planned CareStart DatePatient Provider RatingProvider Provider RatingProviderPatient Support/Caregiver
Procedure: ColonoscopyJune 15, 20131st, Medium3rd, Medium + Caregiver: Mother
Medication: Heparin 0.25 ml pre-filled syringeJuly 12, 2013 + First, MediumThird, MediumCaregiver: Mother
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + PROBLEMS + + Active Concerns + + Problem #1 + Pneumonia (onset July 3, 2013; resolution Aug 14, 2013) [authored Aug 14, 2013] + + + Problem #2 + Chest pain (onset Apr 14, 2007) [authored Apr 14, 2007] + Angina (onset Apr 17, 2007) [authored Apr 17, 2007] + + + + Resolved Concerns + + Problem #3 + Pneumonia - Left lower lobe (onset Mar 10, 1998; resolution Mar 16, 1998) [authored Mar 16, + 1998] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + PROCEDURES + + + + + + + + + + + + + + +
ProcedureDate
Colonic polypectomy1998
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1009 Health Drive + Portland + OR + 99123 + US + + + + Community Gastroenterology Clinic + + + + + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1009 Health Drive + Portland + OR + 99123 + US + + + + Community Gastroenterology Clinic + + + + + +
+
+ + +
+ + + + + RESULTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result TypeResult ValueRelevant Reference RangeInterpretationDate
Hemoglobin13.2 g/dLNormal range for women is 12.0 to 15.5 grams per deciliterNormal03/19/2008
Leukocytes6.7 10*9/LNormal white blood cell count range 3.5-10.5 billion cells/LNormal03/19/2008
Platelets123 10*9/LNormal white blood cell count range 3.5-10.5 billion cells/LLow03/19/2008
Hematocrit35.3 %Normal hematocrit range for female: 34.9-44.5 percentNormal03/19/2008
Erythrocytes4.21 10*12/LNormal red blood cell count range 3.90-5.03 trillion cells/LNormal03/19/2008
Urea nitrogen, SerumPendingPendingPendingMarch 20, 2008
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6.7 billion per liter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + SOCIAL HISTORY + + + + + + + + + + + + + + + + + + + + + + + + + + +
Social History ObservationDescriptionDates Observed
Current Smoking StatusFormer smokerSeptember 10, 2012
Tobacco UseModerate cigarette smoker, 10-19/dayFebruary, 2009 - February, 2011
Alcoholic drinks per day12Since February, 2012
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: Sept 10, 2012Sept 1, 2011
Height177 cm177 cm
Weight86 kg88 kg
Blood Pressure132/88128/80
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda b/data/SampleData/Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda new file mode 100644 index 000000000..95d24fca3 --- /dev/null +++ b/data/SampleData/Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda @@ -0,0 +1,1030 @@ + + + + + + + + + + + + + + + + + CCD Demonstrating Replacement of Prior CCD + + + + + + + + + + + + + 1357 Amber Dr + Beaverton + OR + 97006 + US + + + + + + + + Richard + Maur + jr + + + + + + + + + + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + + + + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Mary + McDonald + + + + + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Henry + Seven + + + + + + + + + + + Caroline + Maur + + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + + + + + + Dr + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + + + + + 1357 Amber Dr + Beaverton + OR + 97006 + US + + + + + + Mr. + Issac + Maur + + + + + + + + + + + + 1357 Amber Dr + Beaverton + OR + 97006 + US + + + + + + Ms + Caroline + Maur + + + + + + + + + + + + + + + + Primary Care Provider + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Dr + Henry + Seven + + + + + Community Health and Hospitals + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + + + + + + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Mary + McDonald + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + ALLERGIES AND ADVERSE REACTIONS + No Known Drug Allergies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + + MEDICATIONS + No known Medications + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + + + Admission Medications + No Medications Administered + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + Discharge Medications + No Information +
+
+ + + + +
+ + + + + PROBLEMS + + No known health problems + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + + ENCOUNTERS + No Encounters +
+
+ + + + + + + +
+ + + + Procedures + No Information +
+
+ + + + +
+ + + + MEDICAL EQUIPMENT + + + + Patient has no history of implantable devices + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + + + IMMUNIZATIONS + No immunization history + + + + + + + + + + + + + + + + + + + + Vaccination + + + + + + + + + +
+
+ + + + +
+ + + VITAL SIGNS + No Recorded Vital Signs +
+
+ + + + +
+ + + + SOCIAL HISTORY + + + + + + + + + + + + + + + + + + + + + +
Social History ObservationDescriptionDates Observed
Current Smoking StatusCurrent every dayJuly 22, 2015
Birth SexMaleJuly 22, 2015
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + + RESULTS + Laboratory Test: None needed. Laboratory Values/Results: No Lab Result data +
+
+ + + + + + + + + + + + + + + +
+ + + + + ASSESSMENTS + No assessment information +
+
+ + + + +
+ + + + + TREATMENT PLAN + + No Plan of treatment + +
+
+ + + + + +
+ + + + Goals Section + No goal information +
+
+ + + + + + + + +
+ + + + Health Concerns + + No Known Health Concerns on 07/22/2015 + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + HOSPITAL DISCHARGE INSTRUCTIONS + + + + Appointments: Schedule an appointment with Dr Seven after 1 week. Follow up with Outpatient facility. + In case of fever, take Tylenol as advised in plan of treatment. + + +
+
+ + + + + + +
+ + + + + + MENTAL STATUS + No information +
+
+ + + + +
+ + + + + + FUNCTIONAL STATUS + No information +
+
+ + + + + +
+ + + Interventions Section + No intervention information +
+
+ +
+
+
diff --git a/data/SampleData/Cda/CCD.cda b/data/SampleData/Cda/CCD.cda new file mode 100644 index 000000000..6ce5ef692 --- /dev/null +++ b/data/SampleData/Cda/CCD.cda @@ -0,0 +1,1055 @@ + + + + + + + + + + + + + + + Summary of Patient Chart + + + + + + + + + + + + + + + + + + 4567 Residence Rd + Beaverton + + + 97867 + + + OR + + US + + + + + + + + Isabella + Jones + + + + + + + + + + + + + + + 4567 Residence Rd + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Jones + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + + + + + + + + + The Doctors Together Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + + 1017 Health Drive + Portland + OR + 99123 + US + + + + + William + Bill + Beaker + + + + Good Health Laboratory + + + + + + + + + + Boris + Bo + Jones + + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + + Sara + Specialize + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Jones + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Jones + + + + + + + + + + + + + + + + Primary Care Provider + + + + + + 1004 Healthcare Drive + Portland + OR + 99123 + US + + + + + Patricia + Patty + Primary + M.D. + + + + + The DoctorsTogether Physician Group + + + 1004 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + +
+ + + + + + + ALLERGIES AND ADVERSE REACTIONS + + No known allergies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + MEDICATIONS + + No information + +
+
+ + + + +
+ + + + PROBLEMS + No Information +
+
+ + +
+ + + PROCEDURES + + + + + + + + + + + + + + + + + + + + + + + + + + +
DescriptionDate and Time (Range)Status
Laparoscopic appendectomy03 Feb 2014 09:22am- 03 Feb 2014 11:15amCompleted
Electrocardiogram (12-Lead)29 Mar 2014 09:15amCompleted
Individual Counseling For Medical Nutrition 29 Mar 2014 10:45amCompleted
+
+ + + + + + + Laparoscopic appendectomy + + + + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + Electrocardiogram (12-Lead) + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + Individual Counseling For Medical Nutrition + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + +
+
+ + +
+ + + RESULTS + + + + + + + + + + + + + + + + + + + + + +
NameActual ResultDate
CBC with Ordered Manual Differential panel - Blood + 8/6/2012
+ Leukocytes [#/​volume] in Blood by Manual count [LOINC: 804-5] + Pending8/6/2012 11:45am
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + SOCIAL HISTORY + + + + + + + + + + + + + + + + +
Social History ObservationDescriptionDates Observed
Current Smoking Status + Unknown if ever smokedSeptember 10, 2012 11:45am
+
+ + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + Vital Signs (Last Filed) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DateBlood PressurePulseTemperatureRespiratory RateHeightWeightBMISpO2
05/20/2014 7:36pm + 120/80mm[Hg] 80 /min37.2 C18 /min170.2 cm108.8 kg37.58 kg/m298%
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/CDA_with_Embedded_PDF.cda b/data/SampleData/Cda/CDA_with_Embedded_PDF.cda new file mode 100644 index 000000000..e21f96262 --- /dev/null +++ b/data/SampleData/Cda/CDA_with_Embedded_PDF.cda @@ -0,0 +1,131 @@ + + + + + + + + + + + + + + + + + Personal Advance Care Document + + + + + + + + + + + + + + + + 1111 StreetName St. + Silver SpringIL20901 + US + + + + + RogerRienmanMcBee + + + + + + + + + + + + + + + + + + + + + + MyDirectives.com + + + P.O. Box 832624 + RichardsonTX75083 + US + + + + + + + + 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OToxNTo1OS0wNTowMDwveG1wOkNyZWF0ZURhdGU+CiAgICAgICAgIDx4bXA6TW9kaWZ5RGF0ZT4yMDE0LTA4LTIwVDA5OjE2OjMwLTA1OjAwPC94bXA6TW9kaWZ5RGF0ZT4KICAgICAgICAgPHhtcDpNZXRhZGF0YURhdGU+MjAxNC0wOC0yMFQwOToxNjozMC0wNTowMDwveG1wOk1ldGFkYXRhRGF0ZT4KICAgICAgICAgPHBkZjpQcm9kdWNlcj5pVGV4dFNoYXJwIDQuMS42IGJ5IDFUM1hUPC9wZGY6UHJvZHVjZXI+CiAgICAgICAgIDxkYzpmb3JtYXQ+YXBwbGljYXRpb24vcGRmPC9kYzpmb3JtYXQ+CiAgICAgICAgIDx4bXBNTTpEb2N1bWVudElEPnV1aWQ6OTlmZTgzZDktNTQ2Ni0yOTQ1LTg4N2YtMDMxZGM5ODc5NjA0PC94bXBNTTpEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SW5zdGFuY2VJRD51dWlkOjgwZjJkN2MzLTEzOGMtNzE0Ni1iZWMzLWEyOTAxZWNjNDUyYzwveG1wTU06SW5zdGFuY2VJRD4KICAgICAgPC9yZGY6RGVzY3JpcHRpb24+CiAgIDwvcmRmOlJERj4KPC94OnhtcG1ldGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAKPD94cGFja2V0IGVuZD0idyI/Pg1lbmRzdHJlYW0NZW5kb2JqDTE5IDAgb2JqDTw8L0ZpbHRlci9GbGF0ZURlY29kZS9GaXJzdCA1L0xlbmd0aCA3OC9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN4yMlEwULCx0XfOL80rUTDX9wyJCNEw0TPUM9PU985MKY42sgAqCFIwBJPGYNIUTJqDSUuILFgiVj+ksiBVPyAxPbXYzg4gwAC6MhVhDWVuZHN0cmVhbQ1lbmRvYmoNMjAgMCBvYmoNPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0ZpcnN0IDUvTGVuZ3RoIDEwMy9OIDEvVHlwZS9PYmpTdG0+PnN0cmVhbQ0KaN4yMlUwULCx0XcuSk0syczPc0ksSdVwsTIyMDQxsDAyMLA0NDW11DUwVTcwUNfU981PwVRgZmwAVxBQlJ9SmpxapJEZklpREpyRWFSgYKJnqGemkFSpYBhiHBGiaWcHEGAA1UAekQ1lbmRzdHJlYW0NZW5kb2JqDTIxIDAgb2JqDTw8L0RlY29kZVBhcm1zPDwvQ29sdW1ucyA0L1ByZWRpY3RvciAxMj4+L0ZpbHRlci9GbGF0ZURlY29kZS9JRFs8MEM4QUVERDkzRjI5MTdFMzU5NkQ5RjBCMDIyRkM1OTI+PEJFQ0RFRjZBNEYyQjQxMTNBRDJBRjBFQUM4MUNBQTE1Pl0vSW5mbyAyNSAwIFIvTGVuZ3RoIDk3L1Jvb3QgMjcgMCBSL1NpemUgMjYvVHlwZS9YUmVmL1dbMSAzIDBdPj5zdHJlYW0NCmjeYmIAAiZGxglHmBgYGIWBBLcuiCUKJFglQSxxIMH8C8biOA1iKQEJtiImBsbEHSDuVxChD9LxAcTyBhJM/iAWO5DgyQOxVoGII0yM/y5wAVkMrCCCCUQwAgQYAOw9DEsNZW5kc3RyZWFtDWVuZG9iag1zdGFydHhyZWYNMTE2DSUlRU9GDQ== + + + + diff --git a/data/SampleData/Cda/Care_Plan.cda b/data/SampleData/Cda/Care_Plan.cda new file mode 100644 index 000000000..a87ea4158 --- /dev/null +++ b/data/SampleData/Cda/Care_Plan.cda @@ -0,0 +1,1345 @@ + + + + + + + + + + + Good Health Hospital Care Plan + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + + + + Eve + + Betterhalf + + + + Eve + + Everywoman + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + The DoctorsTogether Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + D.O. + + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + + + 100 Better Health Rd. + Ann Arbor + MI + 97857 + US + + + + + Nurse + Caresalot + RN + + + + + + + + + Better Health Hospital + + + 100 Better Health Rd. + Ann Arbor + MI + 97857 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Ann Arbor + MI + 97857 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + 17 Daws Rd. + Ann Arbor + MI + 97857 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + Health Concerns Section + + + + + + + + + + + + + + + + + + + + + + + + + + +
ConcernStatusDate
Current every day smokerActiveConcern from June 16, 2013
Respiratory insufficiencyCompletedConcern from June 13, 2013
PneumoniaCompletedJune 16, 2013
+ + + + + + + + + + + + + +
Related observationDate
Productive coughJune 15, 2013
+ Patient priority: high priority Provider + priority: high priority
+
+ + + + + + + + + + + + + + + +
RiskStatusEffective Date
Malignant neoplastic diseaseActiveJune 16, 2013
+
+ Patient priority: high priority Provider + priority: high priority
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Goals Section + + + + + + + + + + + + + + + + +
GoalValueDate
Pulse oximetry92%September 2, 2013
+ Patient priority: high priority Provider + priority: high priority
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Interventions Section + + + + + + + + + + + + + + + + + + + + + + + + + + +
Planned InterventionStatusDate
Elevate head of bedactiveSeptember 2, 2013
Oxygen administration by nasal cannulaactiveSeptember 1, 2013
pulse oximetry monitoringactiveSeptember 3, 2013
+ + + + + + + + + + + + + + + +
Completed InterventionStatusDate
Elevate head of bedcompletedAugust 1, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Nancy + Nightingale + RN + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Nancy + Nightingale + RN + + + + + + + + +
+
+ + +
+ + + + Health Status Evaluations/Outcomes Section + + + + + + + + + + + + + + + + +
ItemOutcomeDate
Pulse oximetry95%August 6, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda b/data/SampleData/Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda new file mode 100644 index 000000000..5ff1fe252 --- /dev/null +++ b/data/SampleData/Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda @@ -0,0 +1,283 @@ + + + + + + + > + + + + + + + + + + + + + + Community Health Consult Note + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + + US + + + + + + + Eve + Betterhalf + + + + Eve + Everywoman + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + + The DoctorsTogether Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + D.O. + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Sara + Specialize + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/data/SampleData/Cda/Consultation_Note.cda b/data/SampleData/Cda/Consultation_Note.cda new file mode 100644 index 000000000..11ecf27e4 --- /dev/null +++ b/data/SampleData/Cda/Consultation_Note.cda @@ -0,0 +1,2096 @@ + + + + + + + + + + + + + + Community Health Consult Note + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + + US + + + + + + + Eve + Betterhalf + + + + Eve + Everywoman + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + + The DoctorsTogether Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + D.O. + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Sara + Specialize + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + ALLERGIES AND ADVERSE REACTIONS + + + + + + + + + + + + + + + + + + +
SubstanceReaction
PenicillinNausea
CodeineWheezing
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + ASSESSMENT + + + Uncontrolled brittle Type II diabetic. + Obesity. + + +
+
+ + +
+ + + HISTORY OF PRESENT ILLNESS + + This is a 38-year-old white woman with years of uncontrolled diabetes who developed a pressure + ulcer on her left knee that is slow to heal. Diet review from primary care provider shows a tendency for a + high carbohydrate diet and little to no exercise. She was recently admitted to the hospital for diabetic + management, wound care, and asthma management. Over the last 3 months her weight has increased by + 20%. + +
+
+ + +
+ + + + FUNCTIONAL STATUS + + + + + + + + + + + + + + + + + + + + + +
Functional CategoryEffective DatesResults of Evaluation
Functional AssessmentJuly 31, 2013Independent Walking
ADL/IADL: BathingJuly 31,2013Independent
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + MEDICATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedicationDirectionsStart DateStatusIndicationsMonitored by
Proventil 0.09 MG/ACTUAT inhalant solution2 puffs q6 hours PRN wheezingJan 3, 2013ActiveAsthmaPenny Puffer, MD
Atenolol 25 MG Oral Tablet1 every 12 hours OrallyMar 18, 2013ActiveHypertension +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + Community Health and Hospitals + + + + + + + + + + + + + Aerosol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Puffer + Penny + DR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + MENTAL STATUS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mental Status FindingsEffective DatesCondition Status
Mental FunctionJuly 31, 2013Impaired
Mental StatusJuly 31, 2013Aggressive Behavior
Mental FunctionJuly 31, 2013Difficulty understanding own emotions
Mental FunctionJuly 31, 2013Difficulty communicating Thoughts
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + NUTRITION SECTION + + Nutritional Status: well nourished + Diet: Low sodium diet, excessive carbohydrate + + + + + + + + Nutritional Status + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Physical Examination + Key Findings: 1. Obesity. 2. Slow healing Open wound on left knee. 3. Early signs of peripheral + neuropathy. +
+
+ + +
+ + + + TREATMENT PLAN + + Hand-off Communication: + Nurse Florence, RN to Nancy Nightingale, RN +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Planned CareStart DatePatient Provider RatingProvider Provider RatingProviderPatient Support/Caregiver
Encounter for Check-upOctober 15, 20131st, Normal Priority3rd, Normal PriorityDr. James Case +
Care Goal: Weight loss from baseline weight 10%October 15, 20131st, Normal Priority3rd, Normal Priority + +
Nutrition Recommendation: EducationJuly 31, 2013 + + + +
+
+ + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Nancy + Nightingale + RN + + + + + + + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Dr. + James + Case + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Care Goal: Weight loss from baseline weight 10% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + PROBLEMS + + Active Concerns + + Problem #1 + Type II diabetes mellitus with ulcer (onset July 3, 2000)[authored Aug 14, 2013] + + + Problem #2 + Mixed Asthma (onset Apr 14, 2007) [authored Apr 14, 2007] + Acute Asthma (onset Apr 17, 2007) [authored Apr 17, 2007] + + + + Resolved Concerns + + Problem #3 + Pneumonia - Left lower lobe (onset Mar 10, 1998; resolution Mar 16, 1998) [authored Mar 16, + 1998] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + REASON FOR REFERRAL + + Request for consultation for weight management. + Patient referral for consultation for full care. Referral Nurse: Nurse Florence,RN + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + RESULTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result TypeResult ValueRelevant Reference RangeInterpretationDate
Hemoglobin13.2 g/dLNormal range for women is 12.0 to 15.5 grams per deciliterNormalJuly 31, 2013
Leukocytes6.7 10*9/LNormal white blood cell count range 3.5-10.5 billion cells/LNormalJuly 31, 2013
Platelets123 10*9/LNormal white blood cell count range 3.5-10.5 billion cells/LLowJuly 31, 2013
Hematocrit35.3 %Normal hematocrit range for female: 34.9-44.5 percentNormalJuly 31, 2013
Erythrocytes4.21 10*12/LNormal red blood cell count range 3.90-5.03 trillion cells/LNormalJuly 31, 2013
Urea nitrogen, SerumPendingPendingPendingJuly 31, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6.7 billion per liter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: Sept 10, 2012Sept 1, 2011
Height177 cm177 cm
Weight86 kg88 kg
Blood Pressure132/88128/80
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/Diagnostic_Imaging_Report.cda b/data/SampleData/Cda/Diagnostic_Imaging_Report.cda new file mode 100644 index 000000000..f56316c42 --- /dev/null +++ b/data/SampleData/Cda/Diagnostic_Imaging_Report.cda @@ -0,0 +1,577 @@ + + + + + + + + + + + + + + Chest X-Ray, PA and LAT View + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + USA + + + + + Adam + Everyman + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + USA + + + + + Ralph + Relative + + + + + + + MA + 02368 + USA + + + + + + + + + + + + + Good Health Clinic + + + 21 North Ave + Burlington + MA + 02368 + USA + + + + + + + + + + + 21 North Ave. + Burlington + MA + 02368 + USA + + + + + Henry + Seven + + + + + + + + + Good Health Clinic + + + 17 Daws Rd. + Blue Bell + MA + 02368 + USA + + + + + + + + + Henry + Seven + + + + Good Health Clinic + + + + + + + + + + + + + + + Amanda + Assigned + MD + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Christine + Cure + MD + + + + + + + + + + + + + + + + + + + + + + + + + + + Dr. + Fay + Family + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + Indications for Procedure + Suspected lung tumor +
+ +
+ + +
+ + History + + + History + Sore throat. + + + + + + + + + + + + + +
+ +
+ + +
+ + + Findings + + + Finding + The cardiomediastinum is within normal limits. The trachea is midline. The previously described opacity at the + medial right lung base has cleared. There are no new infiltrates. There is a new round density at the left hilus, superiorly (diameter + about 45mm). A CT scan is recommended for further evaluation. The pleural spaces are clear. The visualized musculoskeletal structures + and the upper abdomen are stable and unremarkable. + + + Diameter + 45mm + + + Source of Measurement + + Chest_PA + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + Impressions + + + Impression + No acute cardiopulmonary process. Round density in left superior hilus, further evaluation with CT is recommended + as underlying malignancy is not excluded. + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+
+
diff --git a/data/SampleData/Cda/Discharge_Summary.cda b/data/SampleData/Cda/Discharge_Summary.cda new file mode 100644 index 000000000..8294d341a --- /dev/null +++ b/data/SampleData/Cda/Discharge_Summary.cda @@ -0,0 +1,1625 @@ + + + + + + + + + + + + + + Community Health and Hospitals: Discharge Summary + + + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + US + + + + + + + + Isabella + Jones + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + US + + + + + + Ralph + Jones + + + + + + + Beaverton + OR + 97867 + US + + + + + + + + + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + 17 Daws Rd. + Beaverton + OR + 97867 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + + + + + Primary Care Provider + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Dr. + Henry + Seven + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + Primary Care Provider + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Dr. + Herman + Eight + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + ADMISSION DIAGNOSIS + + Appendicitis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + ALLERGIES, ADVERSE REACTIONS, ALERTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SubstanceReactionSeverityStatus
Penicillin + Nausea + + Moderate to severe + Active
Codeine + Wheezing + + Moderate + Active
Eggs + Hives + + Moderate + Active
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + REASON FOR VISIT/CHIEF COMPLAINT + + Dark stools. + +
+
+ + +
+ + + + DISCHARGE DIAGNOSIS + + Appendicitis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + DISCHARGE MEDICATIONS + + + + + + + + + + + + + + + + + + + + +
MedicationInstructionsDosageEffective Dates (start - stop)Status
+ Ibuprofen 600mg Oral Tablet + + take 1 tablet QID PRN + + 600 MG + Sep-16-2014 - Active
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + FAMILY HISTORY + + Father (deceased) + + + + + + + + + + + + + + + + + +
DiagnosisAge At Onset
Myocardial Infarction (cause of death)57
Diabetes6
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Functional Status + + + + + + + + + + + + + + + + +
Functional Status FindingObservation DateCondition Status
DyspneaFebruary 2007Active
+
+ + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + PAST MEDICAL HISTORY + + See History of Present Illness. + +
+
+ + +
+ + + HISTORY OF PRESENT ILLNESS + + This patient was only recently discharged for a recurrent GI pain .... + She presented to the ER today c/o a dark stool yesterday but a normal brown stool today. On exam + she reported lower quadrant abdominal pain .... .... .... + Patient has previously reported functional limitations of trouble breathing ... + Lab at discharge: Glucose 112, BUN 16, creatinine 1.1, electrolytes normal. H. pylori antibody + pending. Admission hematocrit 16%, discharge hematocrit 29%. WBC 7300, platelet count 256,000. Urinalysis + normal. Urine culture: No growth. INR 1.1, PTT 40. + Procedure: Appendectomy performed on .... + +
+
+ + +
+ + + HOSPITAL CONSULTATIONS + + + + + + + + + + + + + +
Gastroenterology
Cardiology
Dietitian
+
+
+
+ + +
+ + + HOSPITAL COURSE + Patient presented with dark stools and pain lower left quadrant of abdomen. After examination and + imaging, patient was diagnosed with acute appendicitis and scheduled for emergengent appendectomy. Appendix + was removed with additional consults for cardiology and nurtition concerns during hsoptialization. Patient + can ambulate with well-managed pain. Will discharge. +
+
+ + +
+ + + HOSPITAL DISCHARGE INSTRUCTIONS + + + Take all of your prescription medication as directed. + Make an appointment with your doctor to be seen two weeks from the date of your procedure. + You may feel slightly bloated after the procedure because of air that was introduced during the + examination. + Call your physician if you notice:
Bleeding or black stools.
Abdominal pain.
+ Fever or chills.
Nausea or vomiting.
Any unusual pain or problem.
Pain or redness + at the site where the intravenous needle was placed.
+
+ Do not drink alcohol for 24 hours. Alcohol amplifies the effect of the sedatives given. + Do not drive or operate machinery for 24 hours. +
+
+
+
+ + +
+ + + HOSPITAL DISCHARGE PHYSICAL + GENERAL: Slightly obese female with inflamed appendix.
HEART: Intermittent tachycardia without + murmurs or gallops.
PULMONARY: Decreased breath sounds, but no clear-cut rales or wheezes.
+ EXTREMITIES: Free of edema.
+
+
+ + +
+ + + HOSPITAL DISCHARGE STUDIES SUMMARY + + + + + + + + + + + + + + + + + + +
Laboratory InformationChemistries and drug levels
Potasium4.0
NA (135-145meq/l)140
+
+ + + + + + + + + + + + + +
Other TestsResults
Abdominal CTClear evidence of appendicitis.
+
+
+
+ + +
+ + + + + IMMUNIZATIONS + + + + + + + + + + + + + + + + + + + + + + +
VaccineDateStatus / Notes
+ Influenza virus vaccine, IM Sep 1, 2014Completed. Possible flu-like symptoms for three days. +
+ Tetanus and diphtheria toxoids, IM (NOT ADMINISTERED)Sep 1, 2014Patient Refused
+
+ + + + + + + + + + + + + + + + + + + Influenza virus vaccine + + 11234654AA + + + Health LS - Immuno Inc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tetanus and diphtheria toxoids - preservative free + + + + + Health LS - Immuno Inc. + + + + + + + + + + + + + + +
+
+ + +
+ + + + PLAN OF CARE + + + + + + + + + + + + + + +
Planned ActivityPlanned Date
ColonoscopyOct 12, 2014
+
+ + + + + + + + +
+ + + +
+
+ + +
+ + + Problem List + + + + + + + + + + + + + + + + + + + + + +
NameDatesStatus
Dark stools + Onset: Sept 6 2014 + Active
Appendicitis + Onset: Sept 8 2014 + Active
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Procedures + + + + + + + + + + + + + + + + +
DescriptionDate and Time (Range)Status
Laparoscopic appendectomy(10 Sep 2014 09:22am- 10 Sep 2014 11:15am)Completed
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + REVIEW OF SYSTEMS + + Patient denies recent history of fever or malaise. Positive for weakness and shortness of breath. + .... + +
+
+ + +
+ + + Social History + + + Smoking Status + + Never smoked + Started: + Stopped: + Recorded Sept 10, 2014 12:54pm + + + + + + + + + + + + + + + +
+
+ + +
+ + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: Sept 16, 2014 8:45am
Height + 177 cm +
Weight + 86 kg +
Blood Pressure + 80 / 55mm[Hg] +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/History_and_Physical.cda b/data/SampleData/Cda/History_and_Physical.cda new file mode 100644 index 000000000..8cc37deae --- /dev/null +++ b/data/SampleData/Cda/History_and_Physical.cda @@ -0,0 +1,2145 @@ + + + + + + + + + + + + + + + Community Health and Hospitals: History & Physical + + + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + US + + + + + + + + Isabella + Isa + + Jones + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + US + + + + + + Ralph + Jones + + + + + + + Beaverton + OR + 97867 + US + + + + + + + + + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + 17 Daws Rd. + Beaverton + OR + 97867 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + ALLERGIES, ADVERSE REACTIONS, ALERTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SubstanceReactionSeverityStatus
ALLERGENIC EXTRACT, PENICILLIN + Nausea + + Moderate to severe + Inactive
Codeine + Wheezing + + Moderate + Active
Aspirin + Hives + + Mild to moderate + Active
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + ASSESSMENT + + + Recurrent GI bleed of unknown etiology; hypotension perhaps secondary to + this but as likely secondary to polypharmacy. + Acute on chronic anemia secondary to #1. + Azotemia, acute renal failure with volume loss secondary to #1. + Hyperkalemia secondary to #3 and on ACE and K+ supplement. + Other chronic diagnoses as noted above, currently stable. + + +
+
+ + +
+ + + REASON FOR VISIT/CHIEF COMPLAINT + + Dark stools. + +
+
+ + +
+ + + + FAMILY HISTORY + + Father (deceased) + + + + + + + + + + + + + + + + + +
DiagnosisAge At Onset
Myocardial Infarction (cause of death)57
Diabetes40
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + GENERAL STATUS + + Alert and in good spirits, no acute distress. + +
+
+ + +
+ + + PAST MEDICAL HISTORY + + See History of Present Illness. + +
+
+ + +
+ + + HISTORY OF PRESENT ILLNESS + + This patient was only recently discharged for a recurrent GI bleed as + described below. + He presented to the ER today c/o a dark stool yesterday but a normal + brown stool today. On exam he was hypotensive in the 80?s resolved after .... + .... .... + Lab at discharge: Glucose 112, BUN 16, creatinine 1.1, electrolytes + normal. H. pylori antibody pending. Admission hematocrit 16%, discharge + hematocrit 29%. WBC 7300, platelet count 256,000. Urinalysis normal. Urine + culture: No growth. INR 1.1, PTT 40. + He was transfused with 6 units of packed red blood cells with .... .... + .... + GI evaluation 12 September: Colonoscopy showed single red clot in .... + .... .... + +
+
+ + +
+ + + + + IMMUNIZATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VaccineDateStatus
+ Influenza virus vaccine, IMNov 1999Completed
+ Influenza virus vaccine, IMDec 1998Completed
+ Pneumococcal polysaccharide vaccine, IMDec 1998Completed
+ Tetanus and diphtheria toxoids, IM1997Refused
+
+ + + + + + + + + + + + + + + + + + + Influenza virus vaccine + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + + + Possible flu-like symptoms for three + days. + + + + + + + + + + + + + + + + + + + + + + + + Influenza virus vaccine + + + 134 + + + Health LS - Immuno Inc. + + + + + + + + + + Possible flu-like symptoms for three + days. + + + + + + + + + + + + + + + + + + + + + + + + Influenza virus vaccine + + + 136 + + + Health LS - Immuno Inc. + + + + + + + + + + Possible flu-like symptoms for three + days. + + + + + + + + + + + + + + + + + + + + + + + + Tetanus and diphtheria toxoids - preservative + free + + + 137 + + + Health LS - Immuno Inc. + + + + + + + + + + Possible flu-like symptoms for three + days. + + + + + + + + + + + + + + +
+
+ + +
+ + + + MEDICATIONS + + + + + + + + + + + + + + + + + + + + + + +
MedicationDirectionsStart DateStatusIndicationsFill Instructions
+ Proventil 0.09 MG/ACTUAT inhalant + solution + 0.09 MG/ACTUAT inhalant solution, 2 puffs QID PRN wheezing20070103ActivePneumonia (233604007 SNOMED CT)Generic Substitition Allowed
+
+ + + + + + + 0.09 MG/ACTUAT inhalant solution, 2 puffs QID + PRN wheezing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + Community Health and Hospitals + + + + + + + + + + + + Aerosol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + label in spanish + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + PHYSICAL EXAMINATION + + + HEENT: All normal to examination. + Heart: RRR, no murmur. + THORAX & LUNGS: Clear without rhonchi or wheeze. + ABDOMEN: No distension, tenderness, or guarding, obese, pos bowel + sounds. + BACK: Normal to inspection and palpation, without tenderness; no + presacral edema. + EXTREMITIES: Doughy edema bilaterally, chronic stasis changes, no + asymmetrical swelling. + + +
+
+ + +
+ + + + PLAN OF CARE + + + + + + + + + + + + + + +
Planned ActivityPlanned Date
Colonoscopy20120512
+
+ + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+
+ + + +
+ + + PROBLEMS + + + + + Pneumonia : Status - Resolved + + + Asthma : Status - Active + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + PROCEDURES + + + + + + + + + + + + + + +
ProcedureDate
+ Colonic polypectomy + 1998
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Community Health and Hospitals + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Community Health and Hospitals + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Community Health and Hospitals + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Community Health and Hospitals + + + + + +
+
+ + +
+ + + + + RESULTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LABORATORY INFORMATION
Chemistries and drug levels
+ HGB (M 13-18 g/dl; F 12-16 g/dl) + 13.2
+ WBC (4.3-10.8 10+3/ul) + 6.7
+ PLT (135-145 meq/l) + 123 (L)
Liver Functions and Other Laboratory Values
ALT (SGPT)31.0
AST (SGOT)18.0
GGT28.0 Alk
Phos86.0
Total Bili0.1
Albumin3.2
Blood Count
White Count7.7
Platelets187.0
Hematocrit23.7
Hemoglobin8.1
ELECTROCARDIOGRAM (EKG) INFORMATION
EKGSinus rhythm without acute changes
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + M 13-18 g/dl; F 12-16 g/dl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + REVIEW OF SYSTEMS + + Patient denies recent history of fever or malaise. Positive for + weakness and shortness of breath. One episode of melena. No recent headaches. + Positive for osteoarthritis in hips, knees and hands. + +
+
+ + + +
+ + + + SOCIAL HISTORY + + + + + + + + + + + + + + + + + + + + + + + + + + +
Social History ElementDescriptionEffective Dates
+ Tobacco smoking statusFormer smoke20050501 to 200902271300-0500
+ History of industrial exposure5 years of working with asbestos20050501-20100431
+ Alcoholic drinks per day020050501 -
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + 5 years of working with asbestos + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: Nov 14, 1999April 7, 2000
Height + 177 cm + + 177 cm +
Weight + 86 kg + + 88 kg +
Blood Pressure + 132/86 mmHg + + 145/88 mmHg +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/Operative_Note.cda b/data/SampleData/Cda/Operative_Note.cda new file mode 100644 index 000000000..deac3b981 --- /dev/null +++ b/data/SampleData/Cda/Operative_Note.cda @@ -0,0 +1,820 @@ + + + + + + + + + + + + + + + Community Health and Hospitals: Operative Note + + + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + US + + + + + + + + Isabella + Isa + + Jones + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + US + + + + + + Ralph + Jones + + + + + + + Beaverton + OR + 97867 + US + + + + + + + + + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + + + + + Primary Care Provider + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Dr. + Henry + Seven + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + +
+ + + PROCEDURE ANESTHESIA + + Conscious sedation with propofol 200 mg IV + + + + + + + + + + + + + + + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + Propofol 20mg/mL injection emulsion 50mL vial + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + +
+
+ + +
+ + + COMPLICATIONS + + Asthmatic symptoms while under general anesthesia. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + OPERATIVE NOTE FLUIDS + 250 ML Ringers Lactate +
+
+ + +
+ + + SURGICAL PROCEDURE + + Laparoscopic Appendectomy + +
+
+ + +
+ + + + PLAN OF TREATMENT + + + + + + + + + + + + + + +
Planned ActivityPlanned Date
Colonoscopy20120512
+
+ + + + + + + + +
+ + + +
+
+ + +
+ + + + PLANNED PROCEDURE + Colonoscopy + + + + + + + + +
+ + + +
+
+ + +
+ + + POSTOPERATIVE DIAGNOSIS + Appendicitis with periappendiceal abscess +
+
+ + +
+ + + PREOPERATIVE DIAGNOSIS + Appendicitis + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + PROCEDURE DESCRIPTION + The patient was brought to the operating room, placed in the supine position, and general anesthesia was induced. A detailed technical + narrative of a laparoscopic appendectomy from initial incision to placement of any dressings follows. +
+
+ + +
+ + + PROCEDURE DISPOSITION + The patient was taken to the Endoscopy Recovery Unit in stable condition. +
+
+ + +
+ + + PROCEDURE ESTIMATED BLOOD LOSS + Minimal +
+
+ + +
+ + + PROCEDURE FINDINGS + A 6 mm sessile polyp was found in the ascending colon and removed by snare, no cautery. Bleeding was + controlled. Moderate diverticulosis and hemorrhoids were incidentally + noted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + PROCEDURE IMPLANTS + No implants were placed. +
+
+ + +
+ + + PROCEDURE INDICATIONS + The procedure is performed for screening in a low risk individual. + + + + + + + + + + + + +
+
+ + +
+ + + PROCEDURE SPECIMENS TAKEN + Ascending colon polyp +
+
+ + +
+ + + SURGICAL DRAINS + Penrose drain placed +
+
+
+
+
diff --git a/data/SampleData/Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda b/data/SampleData/Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda new file mode 100644 index 000000000..ca4fef596 --- /dev/null +++ b/data/SampleData/Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda @@ -0,0 +1,1127 @@ + + + + + + + + + + + + + + + + + 170.315_b1_toc_gold_sample2 test data + + + + + + + + + + + + + + + 1357 Amber Dr + Beaverton + OR + 97006 + US + + + + + + + + Richard + Maur + jr + + + + + + + + + + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + + + + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Mary + McDonald + + + + + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Henry + Seven + + + + + + + + + + + Caroline + Maur + + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + + + + + + Dr + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + + + + + 1357 Amber Dr + Beaverton + OR + 97006 + US + + + + + + Mr. + Issac + Maur + + + + + + + + + + + + 1357 Amber Dr + Beaverton + OR + 97006 + US + + + + + + Ms + Caroline + Maur + + + + + + + + + + + + + + + + Primary Care Provider + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Dr + Henry + Seven + + + + + Community Health and Hospitals + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + + + + + + + + + + + 1002 Healthcare Dr + Portland + OR + 97266 + US + + + + + Mary + McDonald + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + ALLERGIES AND ADVERSE REACTIONS + No Known Drug Allergies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + + MEDICATIONS + No known Medications + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + + + Admission Medications + No Medications Administered + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + + Discharge Medications + No Information +
+
+ + + + + + + + +
+ + + Problem List + + + + + + + + + + + + + + + + + + + + + + + +
NameDatesLocation/QualifierStatus
Below Knee Amputation + Onset: Apr 2 2014 + LeftActive
Community Acquired PneumoniaOnset: February 27 2014Active
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + + ENCOUNTERS + No Encounters +
+
+ + + + + + + +
+ + + + Procedures + No Information +
+
+ + + + +
+ + + + MEDICAL EQUIPMENT + + + + Patient has no history of implantable devices + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + +
+ + + + + IMMUNIZATIONS + No immunization history + + + + + + + + + + + + + + + + + + + + Vaccination + + + + + + + + + +
+
+ + + + +
+ + + VITAL SIGNS + No Recorded Vital Signs +
+
+ + + + +
+ + + + SOCIAL HISTORY + + + + + + + + + + + + + + + + + + + + + +
Social History ObservationDescriptionDates Observed
Current Smoking StatusCurrent every dayJuly 22, 2015
Birth SexMaleJuly 22, 2015
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + +
+ + + + + RESULTS + Laboratory Test: None needed. Laboratory Values/Results: No Lab Result data +
+
+ + + + + + + + + + + + + + + +
+ + + + + ASSESSMENTS + No assessment information +
+
+ + + + +
+ + + + + TREATMENT PLAN + + No Plan of treatment + +
+
+ + + + + +
+ + + + Goals Section + No goal information +
+
+ + + + + + + + +
+ + + + Health Concerns + + No Known Health Concerns on 07/22/2015 + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + HOSPITAL DISCHARGE INSTRUCTIONS + + + + Appointments: Schedule an appointment with Dr Seven after 1 week. Follow up with Outpatient facility. + In case of fever, take Tylenol as advised in plan of treatment. + + +
+
+ + + + + + +
+ + + + + + MENTAL STATUS + No information +
+
+ + + + +
+ + + + + + FUNCTIONAL STATUS + No information +
+
+ + + + + +
+ + + Interventions Section + No intervention information +
+
+ +
+
+
diff --git a/data/SampleData/Cda/Patient-1.cda b/data/SampleData/Cda/Patient-1.cda new file mode 100644 index 000000000..47f850c6a --- /dev/null +++ b/data/SampleData/Cda/Patient-1.cda @@ -0,0 +1,3532 @@ + + + + + + + + + + + + + + + Community Health and Hospitals: Health Summary + + + + + + + + + + + + + + 1093 Paradise Lane + Pomona + CA + 91766 + US + + + + + + + Wilma + Crawford + + + + + + + + + + + + + 4262 Morris Street + Christine + TX + 78012 + US + + + + + + + Mr. + Dennis + Wilson + + + + + + + Goff + KS + 66428 + US + + + + + + + + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + 17 Daws Rd. + Beaverton + OR + 97867 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + + + + Primary Care Provider + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + MD + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + +
+ + + Allergies, Adverse Reactions & Alerts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionSeveritySusceptibilityDate and TimeStatus
Allergy to EggsUNII291P45F896EggsSevereVery susceptible03-31-2010 10:00:00Active
+ ICD-9-CMV15.03Allergy to eggs + + + +
CodeineNDF-RTN0000006691CodeineFatalSusceptible03-31-2010 10:00:00Active
FosfomycinRxNorm808917Fosfomycin 33.3 MG/ML Oral SuspensionModerateVery susceptible03-31-2010 10:00:00Active
+ + + + + + + + + + + + + + + + + + + + + + + + Allergy to Eggs + Eggs + + + + + + + + + + Allergy to Eggs + Eggs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Codeine + Codeine + + + + + + + + + + Codeine + Codeine + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Fosfomycin + Fosfomycin 33.3 MG/ML Oral Suspension + + + + + + + + + + Fosfomycin + Fosfomycin 33.3 MG/ML Oral Suspension + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Encounters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionDate and TimeStatus
Encounter OutpatientCPT99213Office/outpatient visit, est03-31-2010 10:00:00Performed
+ ICD-9-CMV70.0Routine general medical examination at a health care facility + +
Encounter EDCPT99281Emergency dept visit04-30-2010 10:00:00Performed
Encounter Inpatient DischargeCPT99238Hospital discharge day05-28-2010 10:00:00Performed
Encounter OutpatientCPT99213Office/outpatient visit, est06-25-2010 10:00:00Performed
+ ICD-9-CMV70.0Routine general medical examination at a health care facility + +
Encounter OutpatientCPT99213Office/outpatient visit, est10-24-2010 10:00:00Performed
+ ICD-9-CMV70.0Routine general medical examination at a health care facility + +
+ + + + + + + + Encounter Outpatient + Encounter Outpatient + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encounter ED + Encounter ED + + + + + + + + + + + + + + + Encounter Inpatient Discharge + Encounter Inpatient Discharge + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Encounter Outpatient + Encounter Outpatient + + + + + + + + + + + + + + + + Encounter Outpatient + Encounter Outpatient + + + + + + + + +
+
+ + +
+ + + + Immunizations + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionDate and TimeStatus
Influenza VaccineCVX135Influenza, high dose seasonal10-24-2010 10:00:00Completed
Pneumococcal Vaccine all agesCVX100pneumococcal conjugate PCV 710-24-2010 10:00:00Completed
+ CPT90669Pneumococcal vacc, ped<5 + +
+ + + + + + + + + + + + + + + + + + + Influenza Vaccine + Influenza Vaccine + + + + + + + + + + + 101 Maple Street + Washington + DC + 20009 + United States + + + + + Jim + Smith + + + + + Good Hospital + + + 101 Maple Street + Washington + DC + 20009 + United States + + + + + + + + + + + + + + + + + + + + + + + + + Pneumococcal Vaccine all ages + Pneumococcal Vaccine all ages + + + + + + + + + + + + 101 Maple Street + Washington + DC + 20009 + United States + + + + + Jim + Smith + + + + + Good Hospital + + + 101 Maple Street + Washington + DC + 20009 + United States + + + + + + +
+
+ + +
+ + + + Medications + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionDate and TimeStatus
AntidiabeticsRxNorm744863exenatide 0.25 MG/ML Injectable Solution03-31-2010 10:00:00Active
Antihypertensive combinationsRxNorm858828Enalapril Maleate 10 MG / Hydrochlorothiazide 25 MG Oral Tablet03-31-2010 10:00:00Active
AntiplateletsRxNorm243670Aspirin 81 MG Oral Tablet03-31-2010 10:00:00Active
Beta Blocker TherapyRxNorm866924Metoprolol Tartrate 25 MG Oral Tablet03-31-2010 10:00:00Active
StatinsRxNorm617314atorvastatin 10 MG Oral Tablet [Lipitor]03-31-2010 10:00:00Active
ACE inhibitorsRxNorm314076Lisinopril 10 MG Oral Tablet10-24-2010 10:00:00Active
AntidiabeticsRxNorm744863exenatide 0.25 MG/ML Injectable Solution10-24-2010 10:00:00Active
StatinsRxNorm617314atorvastatin 10 MG Oral Tablet [Lipitor]10-24-2010 10:00:00Active
+ + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + Antidiabetics + exenatide 0.25 MG/ML Injectable Solution + + + + Antidiabetics + + + + + + + + + + + + + + + + + + + + + + + + Antihypertensive combinations + Enalapril Maleate 10 MG / Hydrochlorothiazide 25 MG Oral Tablet + + + + Antihypertensive combinations + + + + + + + + + + + + + + + + + + + + + + + + Antiplatelets + Aspirin 81 MG Oral Tablet + + + + Antiplatelets + + + + + + + + + + + + + + + + + + + + + + + + Beta Blocker Therapy + Metoprolol Tartrate 25 MG Oral Tablet + + + + Beta Blocker Therapy + + + + + + + + + + + + + + + + + + + + + + + + Statins + atorvastatin 10 MG Oral Tablet [Lipitor] + + + + Statins + + + + + + + + + + + + + + + + + + + + + + + + ACE inhibitors + Lisinopril 10 MG Oral Tablet + + + + ACE inhibitors + + + + + + + + + + + + + + + + + + + + + + + + Antidiabetics + exenatide 0.25 MG/ML Injectable Solution + + + + Antidiabetics + + + + + + + + + + + + + + + + + + + + + + + + Statins + atorvastatin 10 MG Oral Tablet [Lipitor] + + + + Statins + + + + + + + +
+
+ + +
+ + + + Problems + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionDate and TimeStatus
Coronary Artery Disease No MISNOMED-CT53741008Coronary arteriosclerosis03-31-2010 10:00:00Active
+ ICD-10-CMI25.1Atherosclerotic heart disease of native coronary artery + +
+ ICD-9-CM414.01Coronary atherosclerosis of native coronary artery + +
DiabetesSNOMED-CT44054006Diabetes mellitus type 203-31-2010 10:00:00Active
+ ICD-10-CME11.9Type 2 diabetes mellitus without complications + +
+ ICD-9-CM250.00Diabetes mellitus without mention of complication, type II or unspecified type, not stated as uncontrolled + +
HypertensionSNOMED-CT59621000Essential hypertension03-31-2010 10:00:00Active
+ ICD-10-CMI10Essential (primary) hypertension + +
+ ICD-9-CM401.9Unspecified essential hypertension + +
Myocardial InfarctionSNOMED-CT304914007Acute Q wave myocardial infarction05-28-2010 10:00:00Active
+ ICD-10-CMI21.3ST elevation (STEMI) myocardial infarction of unspecified site + +
+ ICD-9-CM410.90Acute myocardial infarction of unspecified site, episode of care unspecified + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + + + Procedures + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionDate and TimeStatus
Counseling For NutritionCPT97802Medical nutrition, indiv, in03-31-2010 10:00:00Performed
+ HCPCSS9470Nutritional counseling, diet + +
+ ICD-10-CMZ00.8Encounter for other general examination + +
+ ICD-9-CMV65.3Dietary surveillance and counseling + +
Counseling For Physical ActivityHCPCSS9451Exercise class03-31-2010 10:00:00Performed
+ ICD-10-CMZ71.3Dietary counseling and surveillance + +
+ ICD-9-CMV65.41Exercise counseling + +
X-ray StudyCPT76499Radiographic procedure05-23-2010 10:00:00Performed
+ SNOMED-CT363680008Radiographic imaging procedure (procedure) + +
LVF AssessmentCPT93543Injection for heart x-rays05-24-2010 10:00:00Performed
Cardiac MonitoringSNOMED-CT23852006Cardiac monitoring05-25-2010 10:00:00Performed
dietary consultation orderSNOMED-CT103699006Patient referral to dietitian05-27-2010 10:00:00Performed
Foot ExamSNOMED-CT401191002Diabetic foot examination06-25-2010 10:00:00Performed
Eye ExamCPT92012Eye exam established pat07-30-2010 10:00:00Performed
+ HCPCSS0621Routine ophthalmological exa + +
+ ICD-9-CM95.03Extended ophthalmologic work-up + +
+ SNOMED-CT36228007Ophthalmic examination and evaluation + +
Foot ExamSNOMED-CT401191002Diabetic foot examination10-24-2010 10:00:00Performed
+ + + + + + + + + Counseling For Nutrition + Medical nutrition, indiv, in + + + + + + + + + + + + + + + + + + + + Counseling For Physical Activity + Exercise class + + + + + + + + + + + + + + + + + + + X-ray Study + Radiographic procedure + + + + + + + + + + + + + + + + + + LVF Assessment + Injection for heart x-rays + + + + + + + + + + + + + + + + + Cardiac Monitoring + Cardiac monitoring + + + + + + + + + + + + + + + + + dietary consultation order + Patient referral to dietitian + + + + + + + + + + + + + + + + + Foot Exam + Diabetic foot examination + + + + + + + + + + + + + + + + + Eye Exam + Eye exam established pat + + + + + + + + + + + + + + + + + + + + Foot Exam + Diabetic foot examination + + + + + + + + +
+
+ + +
+ + + + + + Results + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionValueUnitReference RangeDate and TimeStatus
HbA1c testLOINC4548-4Hgb A1c MFr Bld7%4-5.6%03-31-2010 10:00:00Completed
+ CPT83036Glycated hemoglobin test + + + + +
+ SNOMED-CT43396009Hemoglobin A1c measurement + + + + +
High Density Lipoprotein (HDL)LOINC14646-4HDLc SerPl-sCnc63mg/dL>=40 mg/dL03-31-2010 10:00:00Completed
+ CPT83701Lipoprotein bld, hr fraction + + + + +
+ SNOMED-CT28036006High density lipoprotein cholesterol measurement + + + + +
Low Density Lipoprotein (LDL)LOINC2089-1LDLc SerPl-mCnc150.2mg/dL<130 mg/dL (calc)03-31-2010 10:00:00Completed
+ CPT83721Assay of blood lipoprotein + + + + +
+ SNOMED-CT113079009Low density lipoprotein cholesterol measurement + + + + +
Total CholesterolLOINC2093-3Cholest SerPl-mCnc251mg/dL125-200 mg/dL03-31-2010 10:00:00Completed
+ CPT82465Assay, bld/serum cholesterol + + + + +
+ SNOMED-CT121868005Total cholesterol measurement + + + + +
TriglyceridesLOINC12951-0Trigl SerPl Calc-mCnc189mg/dL10-39 years: 55-110 mg/dL | 40-59 years: 70-150 mg/dL | >60 years: 80-150 mg/dL | Therapeutic Target: <100 mg/dL 03-31-2010 10:00:00Completed
+ CPT84478Assay of triglycerides + + + + +
+ SNOMED-CT14740000Triglycerides measurement + + + + +
HbA1c testLOINC4548-4Hgb A1c MFr Bld6.6%4-5.6%07-25-2010 10:00:00Completed
+ CPT83036Glycated hemoglobin test + + + + +
+ SNOMED-CT43396009Hemoglobin A1c measurement + + + + +
HbA1c testLOINC4548-4Hgb A1c MFr Bld6.7%4-5.6%10-24-2010 10:00:00Completed
+ CPT83036Glycated hemoglobin test + + + + +
+ SNOMED-CT43396009Hemoglobin A1c measurement + + + + +
High Density Lipoprotein (HDL)LOINC14646-4HDLc SerPl-sCnc61mg/dL>=40 mg/dL10-24-2010 10:00:00Completed
+ CPT83701Lipoprotein bld, hr fraction + + + + +
+ SNOMED-CT28036006High density lipoprotein cholesterol measurement + + + + +
Low Density Lipoprotein (LDL)LOINC2089-1LDLc SerPl-mCnc106.6mg/dL<130 mg/dL (calc)10-24-2010 10:00:00Completed
+ CPT83721Assay of blood lipoprotein + + + + +
+ SNOMED-CT113079009Low density lipoprotein cholesterol measurement + + + + +
Total CholesterolLOINC2093-3Cholest SerPl-mCnc197mg/dL125-200 mg/dL10-24-2010 10:00:00Completed
+ CPT82465Assay, bld/serum cholesterol + + + + +
+ SNOMED-CT121868005Total cholesterol measurement + + + + +
TriglyceridesLOINC12951-0Trigl SerPl Calc-mCnc147mg/dL10-39 years: 55-110 mg/dL | 40-59 years: 70-150 mg/dL | >60 years: 80-150 mg/dL | Therapeutic Target: <100 mg/dL 10-24-2010 10:00:00Completed
+ CPT84478Assay of triglycerides + + + + +
+ SNOMED-CT14740000Triglycerides measurement + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + 4-5.6% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + >=40 mg/dL + + + + + + + + + + + + + + + + + + + + + <130 mg/dL (calc) + + + + + + + + + + + + + + + + + + + + + 125-200 mg/dL + + + + + + + + + + + + + + + + + + + + + 10-39 years: 55-110 mg/dL | 40-59 years: 70-150 mg/dL | >60 years: 80-150 mg/dL | Therapeutic Target: <100 mg/dL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-5.6% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4-5.6% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + >=40 mg/dL + + + + + + + + + + + + + + + + + + + + + <130 mg/dL (calc) + + + + + + + + + + + + + + + + + + + + + 125-200 mg/dL + + + + + + + + + + + + + + + + + + + + + 10-39 years: 55-110 mg/dL | 40-59 years: 70-150 mg/dL | >60 years: 80-150 mg/dL | Therapeutic Target: <100 mg/dL + + + + + + +
+
+ + +
+ + + + Social History + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionDate and TimeStatus
Tobacco UseSNOMED-CT266919005Never smoker (Never Smoked)03-31-2010 10:00:00Active
+ SNOMED-CT449868002Current every day smoker + +
+ + + + + + + + Tobacco Use + Never smoker (Never Smoked) + + + + + + + + + + + + +
+
+ + +
+ + + + + + Vital Signs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Group DescriptionCode SystemCodeCode DescriptionValueUnitDate and TimeStatus
BMILOINC39156-5BMI31.3kg/m203-31-2010 10:00:00Finding
Diastolic Blood PressureLOINC8462-4BP Diastolic92mm[Hg]03-31-2010 10:00:00Finding
Systolic Blood PressureLOINC8480-6BP Systolic145mm[Hg]03-31-2010 10:00:00Finding
BMILOINC39156-5BMI30.7kg/m205-23-2010 10:00:00Finding
Diastolic Blood PressureLOINC8462-4BP Diastolic100mm[Hg]05-23-2010 10:00:00Finding
Heart RateLOINC8867-4Heart Rate100/min05-23-2010 10:00:00Finding
Systolic Blood PressureLOINC8480-6BP Systolic160mm[Hg]05-23-2010 10:00:00Finding
Diastolic Blood PressureLOINC8462-4BP Diastolic80mm[Hg]05-28-2010 10:00:00Finding
Heart RateLOINC8867-4Heart Rate88/min05-28-2010 10:00:00Finding
Systolic Blood PressureLOINC8480-6BP Systolic125mm[Hg]05-28-2010 10:00:00Finding
BMILOINC39156-5BMI29.9kg/m206-25-2010 10:00:00Finding
Diastolic Blood PressureLOINC8462-4BP Diastolic88mm[Hg]06-25-2010 10:00:00Finding
Heart RateLOINC8867-4Heart Rate86/min06-25-2010 10:00:00Finding
Systolic Blood PressureLOINC8480-6BP Systolic132mm[Hg]06-25-2010 10:00:00Finding
BMILOINC39156-5BMI28.2kg/m210-24-2010 10:00:00Finding
Diastolic Blood PressureLOINC8462-4BP Diastolic84mm[Hg]10-24-2010 10:00:00Finding
Heart RateLOINC8867-4Heart Rate84/min10-24-2010 10:00:00Finding
Systolic Blood PressureLOINC8480-6BP Systolic130mm[Hg]10-24-2010 10:00:00Finding
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
diff --git a/data/SampleData/Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda b/data/SampleData/Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda new file mode 100644 index 000000000..969ff7722 --- /dev/null +++ b/data/SampleData/Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda @@ -0,0 +1,91 @@ + + + + + + + + + + Continuity of Care Document (C-CDA) + + + + + + + + + + + + + 1 Happy Valley Road + Westerly + RI + 02891 + + + + + + + + + Nelson + Lisa + + + + + + + + + + + + + + + + + + + + + River Valley Health Services + + + + 823 Main Street + River Valley + RI + 028321 + US + + + + + ... + + + ... + + + diff --git a/data/SampleData/Cda/Procedure_Note.cda b/data/SampleData/Cda/Procedure_Note.cda new file mode 100644 index 000000000..a868c41fc --- /dev/null +++ b/data/SampleData/Cda/Procedure_Note.cda @@ -0,0 +1,871 @@ + + + + + + + + + + + + + + Community Health and Hospitals: Procedure Note + + + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + + US + + + + + + + Isabella + Jones + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + + US + + + + + Ralph + Jones + + + + + + + Beaverton + OR + 97867 + US + + + + + + + + + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + Henry + Seven + + + + + + + + + + + + + + Primary Care Provider + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Dr. + Henry + Seven + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + Primary Care Provider + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Dr. + Henry + Seven + + + + + Community Health and Hospitals + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + Assessment + + + Recurrent GI bleed of unknown etiology; hypotension perhaps secondary to this but as likely secondary to polypharmacy. + Acute on chronic anemia secondary to #1. + Azotemia, acute renal failure with volume loss secondary to #1. + Hyperkalemia secondary to #3 and on ACE and K+ supplement. + Other chronic diagnoses as noted above, currently stable. + + +
+
+ + +
+ + + + Plan of Treatment + + + + + + + + + + + + + + +
Planned ActivityPlanned Date
Colonoscopy20120512
+
+ + + + + + + + +
+ + + + + + +
+
+ + +
+ + + Procedure Indications + The procedure is performed for screening in a low risk individual. + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Planned Procedure + Colonoscopy + + + + + + + + +
+ + + + + + +
+
+ + +
+ + + PROCEDURE DESCRIPTION + The patient was brought to the operating room, placed in the supine position, and general anesthesia was induced. A detailed technical + narrative of a laparoscopic appendectomy from initial incision to placement of any dressings follows. +
+
+ + +
+ + + Preoperative Diagnosis + Appendicitis + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Anesthesia + + Conscious sedation with propofol 200 mg IV + + + + + + + + Propofol 20mg/mL injection emulsion 50mL vial + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + +
+
+ + +
+ + + Surgical Drains + Penrose drain placed +
+
+ + +
+ + + Procedure Findings + A 6 mm sessile polyp was found in the ascending colon and removed by snare, no cautery. Bleeding was + controlled. Moderate diverticulosis and hemorrhoids were incidentally + noted. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Estimated Blood Loss + Minimal +
+
+ + +
+ + + Procedure Implants + No implants were placed. +
+
+ + +
+ + + Specimens Taken + Ascending colon polyp +
+
+ + +
+ + + Complications + Asthmatic symptoms while under general anesthesia. + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Postoperative Diagnosis + Appendicitis with periappendiceal abscess +
+
+ + +
+ + + Postprocedure Diagnosis + + + Sigmoid diverticulosis, moderate + Internal hemorrhoids + Colon polyp, 6mm, ascending colon + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Procedure Disposition + The patient was taken to the Endoscopy Recovery Unit in stable condition. +
+
+
+
+
diff --git a/data/SampleData/Cda/Progress_Note.cda b/data/SampleData/Cda/Progress_Note.cda new file mode 100644 index 000000000..531e6cf35 --- /dev/null +++ b/data/SampleData/Cda/Progress_Note.cda @@ -0,0 +1,1896 @@ + + + + + + + + + + + + + + Progress Note + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + + US + + + + + + + Mr. + Adam + Frankie + + Everyman + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + + Ralph + Relative + + + + + + + MA + 02368 + USA + + + + + + + + + + + + + Good Health Clinic + + + 21 North Ave + Burlington + MA + 02368 + USA + + + + + + + + + + + 21 North Ave. + Burlington + MA + 02368 + USA + + + + + Henry + Seven + + + + + + + + + 21 North Ave. + Burlington + MA + 02368 + USA + + + + + Henry + Seven + + + + + + + + + + + Rose + Everyman + + + + + + + + + Good Health Clinic + + + 17 Daws Rd. + Blue Bell + MA + 02368 + USA + + + + + + + + + Henry + Seven + + + + Good Health Clinic + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + USA + + + + + Mrs. + Abigail + Ruth + + + + + + + + + + + + + + + + + + + Primary Care Provider + + + + + + + + + + Dr. + Pseudo + Physician-1 + + + + + NIST HL7 Test Laboratory + + + + + + + + Primary Care Provider + + + + + + + + + + Dr. + Pseudo + Physician-3 + + + + + HL7 Test Laboratory + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + ALLERGIES AND ADVERSE REACTIONS + + + + + + + + + + + + + + + + + + +
SubstanceReaction
PenicillinNausea
CodeineWheezing
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + ASSESSMENT + + + Recurrent GI bleed of unknown etiology; hypotension perhaps secondary to this but as likely secondary to polypharmacy. + Acute on chronic anemia secondary to #1. + Azotemia, acute renal failure with volume loss secondary to #1. + Hyperkalemia secondary to #3 and on ACE and K+ supplement. + Other chronic diagnoses as noted above, currently stable. + + +
+
+ + +
+ + + CHIEF COMPLAINT + + Dark stools. + +
+
+ + +
+ + + + MEDICATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedicationDirectionsStart DateStatusIndicationsMonitored by
Proventil 0.09 MG/ACTUAT inhalant solution2 puffs q6 hours PRN wheezingJan 3, 2013ActiveAsthmaPenny Puffer, MD
Atenolol 25 MG Oral Tablet1 every 12 hours OrallyMar 18, 2013ActiveHypertension +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + Community Health and Hospitals + + + + + + + + + + + + + + + + Aerosol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Puffer + Penny + DR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + OBJECTIVE DATA + + + Chest: clear to ausc. No rales, normal breath sounds + Heart: RR, PMI in normal location and no heave or evidence of cardiomegaly,normal heart sounds, no murm or gallop + + +
+
+ + +
+ + + PHYSICAL EXAMINATION + + + HEENT: All normal to examination. + Heart: RRR, no murmur. + THORAX & LUNGS: Clear without rhonchi or wheeze. + ABDOMEN: No distension, tenderness, or guarding, obese, pos bowel sounds. + BACK: Normal to inspection and palpation, without tenderness; no presacral edema. + EXTREMITIES: Doughy edema bilaterally, chronic stasis changes, no asymmetrical swelling. + + +
+
+ + +
+ + + + TREATMENT PLAN + + Hand-off Communication: + Nurse Florence, RN to Nancy Nightingale, RN +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Planned CareStart DatePatient Provider RatingProvider Provider RatingProviderPatient Support/Caregiver
Encounter for Check-upOctober 15, 20131st, Normal Priority3rd, Normal PriorityDr. James Case +
Care Goal: Weight loss from baseline weight 10%October 15, 20131st, Normal Priority3rd, Normal Priority + +
Nutrition Recommendation: EducationJuly 31, 2013 + + + +
+
+ + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Nancy + Nightingale + RN + + + + + + + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Dr. + James + Case + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Care Goal: Weight loss from baseline weight 10% + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + PROBLEMS + + Active Concerns + + Problem #1 + Type II diabetes mellitus with ulcer (onset July 3, 2000)[authored Aug 14, 2013] + + + Problem #2 + Acute Asthma (onset Apr 17, 2007) [authored Apr 17, 2007] + + + + Resolved Concerns + + Problem #3 + Pneumonia - Left lower lobe (onset Mar 10, 1998; resolution Mar 16, 1998) [authored Mar 16, 1998] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + RESULTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result TypeResult ValueRelevant Reference RangeInterpretationDate
Hemoglobin13.2 g/dLNormal range for women is 12.0 to 15.5 grams per deciliterNormalJuly 31, 2013
Leukocytes6.7 10*9/LNormal white blood cell count range 3.5-10.5 billion cells/LNormalJuly 31, 2013
Platelets123 10*9/LNormal white blood cell count range 3.5-10.5 billion cells/LLowJuly 31, 2013
Hematocrit35.3 %Normal hematocrit range for female: 34.9-44.5 percentNormalJuly 31, 2013
Erythrocytes4.21 10*12/LNormal red blood cell count range 3.90-5.03 trillion cells/LNormalJuly 31, 2013
Urea nitrogen, SerumPendingPendingPendingJuly 31, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6.7 billion per liter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + REVIEW OF SYSTEMS + + Patient denies recent history of fever or malaise. Positive for weakness and shortness of breath. One episode of melena. No + recent headaches. Positive for osteoarthritis in hips, knees and hands. + +
+
+ + + +
+ + + SUBJECTIVE DATA + + Complaints of rectal bleeding, fatigue and a change in bowel patterns. Has several days of constipation alternating with + diarrhea. + +
+
+ + +
+ + + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: Sept 10, 2012Sept 1, 2011
Height177 cm177 cm
Weight86 kg88 kg
Blood Pressure132/88128/80
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ +
+
+
diff --git a/data/SampleData/Cda/Referral_Note.cda b/data/SampleData/Cda/Referral_Note.cda new file mode 100644 index 000000000..e7d147842 --- /dev/null +++ b/data/SampleData/Cda/Referral_Note.cda @@ -0,0 +1,3161 @@ + + + + + + + + + + + + + + + + + Referral Note + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + + + + Eve + + Betterhalf + + + + Eve + + Everywoman + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + The DoctorsTogether Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + D.O. + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Nancy + Nightingale + RN + + + + Community Health and Hospitals + + + Cardiac Stepdown Unit, 4B + 1002 Healthcare Drive + Ann Arbor + MI + 97857 + US + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Ann Arbor + MI + 97857 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + +
+ + + + ADVANCE DIRECTIVES + + + + + + + + + + + + + + + + + + +
DirectiveDescriptionVerificationSupporting Document(s)
Resuscitation status + Do not resuscitate + Dr. Patricia Primary, Feb 19, 2011 + Advance directive +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1004 Health Drive + Portland + OR + 99123 + US + + + + + Dr. + Patricia + Primary + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + ALLERGIES AND ADVERSE REACTIONS + + + + + + + + + + + + + + + + + + +
SubstanceReaction
+ Penicillin + + Nausea +
+ Codeine + + Wheezing +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + ASSESSMENT + + + Uncontrolled brittle Type II diabetic. + Obesity. + Shortness of breath, mild wheezing. + Pressure ulder on left knee. + + +
+
+ + +
+ + + CHIEF COMPLAINT(S) AND REASON FOR VISIT + Diabetic Management and wound care follow up. +
+
+ + +
+ + + + FAMILY HISTORY + + Father (deceased) + + + + + + + + + + + + + + + + + +
DiagnosisAge At Onset
Myocardial Infarction (cause of death)57
Diabetes40
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + FUNCTIONAL STATUS + + + + + + + + + + + + + + + + + + + + + +
Functional CategoryEffective DatesResults of Evaluation
Functional AssessmentMarch 11, 2013Independent Walking
ADL/IADL: BathingMarch 11,2013Independent
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + HISTORY OF PRESENT ILLNESS + + This is a 38-year-old white woman with years of uncontrolled diabetes who developed a pressure ulcer on her left knee and is + here for agressive wound care management. + On admission she also presented with mild wheezing and dyspnea. Chest x-rays negative for infiltrates. Patient has a history of + asthma and is morbidly obese. + The patient is admitted at this time for for agressive wound care management, diabetic management, and asthma evaluation. + + +
+
+ + +
+ + + + MEDICATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
MedicationDirectionsStart DateStatusIndicationsMonitored by
Proventil 0.09 MG/ACTUAT inhalant solution2 puffs q6 hours PRN wheezingJan 3, 2013ActiveAsthmaPenny Puffer, MD
Atenolol 25 MG Oral Tablet1 every 12 hours OrallyMar 18, 2013ActiveHypertension +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + Community Health and Hospitals + + + + + + + + + + + + + Aerosol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Puffer + Penny + DR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + MEDICAL EQUIPMENT + + Medical Equipment + + Implanted Devices: Cardiac PaceMaker July 3, 2012 + Implanted Devices: Upper GI Prosthesis, January 3, 2013 + Cane, February 2, 2003 + + Biliary Stent, May 5, 2013 + + + + + + + + + Implants + + + + + + + + + + + + + + + + + + + + + + + + Cardiac Pacemaker + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + Upper GI Prosthesis + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + + Upper GI Prosthesis + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1004 Health Care Drive + Ann Arbor + MI + 02368 + US + + + + + Community Health and Hospitals + + + 1003 Health Care Drive + Ann Arbor + MI + 02368 + US + + + + + + +
+
+ + +
+ + + + MENTAL STATUS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mental Status FindingsEffective DatesCondition Status
Mental FunctionMarch 11, 2013Impaired
Mental FunctionMarch 11, 2013Agressive Behavior
Mental FunctionMarch 11, 2013Difficulty understanding own emotions
Mental FunctionMarch 11, 2013Difficulty communicating Thoughts
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + NUTRITION SECTION + + Nutritional Status: well nourished + Diet: Low sodium diet, excessive carbohydrate + + + + + + + + Nutritional Status + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Physical Examination + Key Findings: 1. Type II diabetes, uncontrolled. 2. Slow healing Open wound on left knee. 3. Early signs of peripheral neuropathy. + + + +
+ + + + SKIN, PHYSICAL FINDING + + + Stage 3 Pressure Ulcer anterior aspect of knee
+ Measuring 1"W X 2"L + Wound Characteristic: Offensive wound odor + Three Stage 3 pressure ulcers. + Worst pressure ulcer with necrotic eschar. +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + +
+ + + + TREATMENT PLAN + + Hand-off Communication: + Nurse Florence, RN to Nancy Nightingale, RN +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Planned CareStart DatePatient Provider RatingProvider Provider RatingProviderPatient Support/Caregiver
Encounter for Check-upSeptember 15, 20131st, Normal Priority3rd, Normal PriorityDr. James Case +
Treatment: Wound CareSeptember 15, 20131st, Normal Priority3rd, Normal Priority + Caregiver: Mother
Nutrition Recommendation: EducationSeptember 15, 2013 + + + +
Immunization: Influenza virus vaccine, IMNovember 15, 20131st, Normal Priority3rd, Normal PriorityDr. Henry Seven +
+
+ + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Nancy + Nightingale + RN + + + + + + + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Dr. + James + Case + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Influenza virus vaccine + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Possible flu-like symptoms for three days. + + + + + +
+
+ + +
+ + + + PROBLEMS + + Active Concerns + + Problem #1 + Type II diabetes mellitus with ulcer (onset July 3, 2000)[authored Aug 14, 2013] + + + Problem #2 + Mixed Asthma (onset Apr 14, 2007) [authored Apr 14, 2007] + Acute Asthma (onset Apr 17, 2007) [authored Apr 17, 2007] + + + + Resolved Concerns + + Problem #3 + Pneumonia - Left lower lobe (onset Mar 10, 1998; resolution Mar 16, 1998) [authored Mar 16, 1998] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Procedures + + + + + + + + + + + + + + +
ProcedureDate
+ Colonic polypectomy + 1998
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Good Health Clinic + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Good Health Clinic + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Good Health Clinic + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Good Health Clinic + + + + + +
+
+ + +
+ + + REASON FOR REFERRAL + + Patient referral for consultation for full care. Referral Nurse: Nurse Florence,RN + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + RESULTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result TypeResult ValueRelevant Reference RangeInterpretationDate
+ Hemoglobin + + 13.2 g/dL + + Normal range for women is 12.0 to 15.5 grams per deciliter + NormalMarch 11, 2013
+ Leukocytes + + 6.7 10*9/L + + Normal white blood cell count range 3.5-10.5 billion cells/L + NormalMarch 11, 2013
+ Platelets + + 123 10*9/L + + Normal white blood cell count range 3.5-10.5 billion cells/L + LowMarch 11, 2013
+ Hematocrit + + 35.3 % + + Normal hematocrit range for female: 34.9-44.5 percent + NormalMarch 11, 2013
+ Erythrocytes + + 4.21 10*12/L + + Normal red blood cell count range 3.90-5.03 trillion cells/L + NormalMarch 11, 2013
+ Urea nitrogen, Serum + PendingPendingPendingMarch 11, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6.7 billion per liter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: Sept 10, 2012Sept 1, 2011
Height + 177 cm + + 177 cm +
Weight + 86 kg + + 88 kg +
Blood Pressure + 132/88 + + 128/80 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/Transfer_Summary.cda b/data/SampleData/Cda/Transfer_Summary.cda new file mode 100644 index 000000000..bd18df90f --- /dev/null +++ b/data/SampleData/Cda/Transfer_Summary.cda @@ -0,0 +1,4906 @@ + + + + + + + + + + + + + + Transfer Summary + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + + + + Eve + + Betterhalf + + + + Eve + + Everywoman + + + + + + + + + + + + + + + 2222 Home Street + Beaverton + OR + 97867 + US + + + + + Boris + Bo + Betterhalf + + + + + + + 4444 Home Street + Beaverton + OR + 97867 + US + + + + + + + + + + + + + + + The DoctorsTogether Physician Group + + + 1007 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Ellen + Enter + + + + + + + + + + 1007 Healthcare Drive + Portland + OR + 99123 + US + + + + + Harold + Hippocrates + D.O. + + + + + + + + + + + Rose + Everyman + + + + + + + + + + Good Health HIE + + + 1009 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + + Sara + Specialize + M.D. + + + + The DoctorsApart Physician Group + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Ann Arbor + MI + 97857 + US + + + + + Mrs. + Martha + Jones + + + + + + + + + + + + + Primary Care Provider + + + + + + 1004 Healthcare Drive + Portland + OR + 99123 + US + + + + + Patricia + Patty + Primary + M.D. + + + + + Good Health Hospital + + + 1004 Health Drive + Portland + OR + 99123 + US + + + + + + + + + + 1004 Healthcare Drive + Ann Arbor + MA + 99123 + US + + + + + Rory + Renal + Primary + M.D. + + + + + Good Health Hospital + + + 1036 Health Drive + >Ann Arbor + MA + 99123 + US + + + + + + + + + + + +
+ + + + ALLERGIES AND ADVERSE REACTIONS + + + + + + + + + + + + + + + + + + +
SubstanceReaction
+ Penicillin + + Nausea +
+ Codeine + + Wheezing +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + ADVANCE DIRECTIVES + + + + + + + + + + + + + + + + + + +
DirectiveDescriptionVerificationSupporting Document(s)
Resuscitation status + Do not resuscitate + Dr. Patricia Primary, Feb 19, 2011 + Advance directive +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1004 Health Drive + Portland + OR + 99123 + US + + + + + Dr. + Patricia + Primary + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + ASSESSMENT + + + Flank pain. + Pain on deep palpation of lower back. + Other chronic diagnoses as noted above, currently stable. + + +
+
+ + +
+ + + + ENCOUNTERS + + + + + + + + + + + + + + + + + + +
EncounterPerformerLocationDate
+ Check-up, Inpatient Medical WardAmanda Assigned, General PhysicianGood Health ClinicFebruary 12, 2013
+
+ + + + + + + Checkup Examination + + + + + + + + + + 102 Health Drive + Ann Arbor + MI + 99099 + US + + + + + Amanda + Assigned + + + + + Good Health Clinic + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Good Health Clinic + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + FAMILY HISTORY + + Father (deceased) + + + + + + + + + + + + + + + + + +
DiagnosisAge At Onset
Myocardial Infarction (cause of death)57
Diabetes40
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + FUNCTIONAL STATUS + + + + + + + + + + + + + + + + + + + + + +
Functional CategoryEffective DatesResults of Evaluation
Functional AssessmentMarch 11, 2013Independent Walking
ADL/IADL: BathingMarch 11,2013Independent
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + GENERAL STATUS + + Alert and in good spirits, mild distress. + +
+
+ + +
+ + + + HISTORY OF PAST MEDICAL/SURGICAL ILLNESS + + In 2011, the patient experienced a minor stroke, which caused temporary paralysis on her left + side. She was monitored in hospital for three weeks and recovered. She has been taking warfarin since then + and is expected continue on with close monitoring. + She has had type II diabetes, poorly controlled for many years. Since the diagnosis, her kidney + functions are compromised and she is predisposed to developing peripheral neuropathy. + occlusion. + Two weeks prior to this current hospital admission, she was also diagnosed with + hypercholesterolemia. She is currently taking Lipitor to manage this. + +
+
+ + +
+ + + HISTORY OF PRESENT ILLNESS + + This is a 68-year-old white woman who went to the emergency room with sudden onset of severe + left flank and left lower quadrant abdominal pain associated with gross hematuria. The patient had a CT + stone profile which showed no evidence of renal calculi. She was referred for urologic + evaluation. + When seen in our office, the patient continued to have mild left flank pain and no difficultly + voiding. Urinalysis showed 1+ occult blood. Intravenous pyelogram was done which demonstrated a low-lying + malrotated right kidney. There was no evidence of renal or ureteral calculi or hydronephrosis. Urine + cytology was negative for malignant cells. The patient subsequently had a CT renal scan with contrast. + This showed what appeared to be an infarction of an area of the lower pole of the left kidney. It was + suggested that a renal MRI be done for further delineation of this problem. She had a right kidney which + was malrotated but was otherwise normal. The patient is admitted at this time for complete urologic + evaluation. + +
+
+ + +
+ + + Hospital Course of Care + + This is a 68-year-old white woman who went to the emergency room with sudden onset of severe + left flank and left lower quadrant abdominal pain associated with gross hematuria. The patient had a CT + stone profile which showed no evidence of renal calculi. + +
+
+ + +
+ + + + Hospital Discharge Diagnosis + .Kidney Malrotation. Discharged August 1, 2013 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + IMMUNIZATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
VaccineDateStatusSeries number
+ Influenza, seasonal, IM Nov 1999CompletedN/A
+ Influenza, seasonal, IM Dec 1998CompletedN/A
+ Pneumococcal polysaccharide vaccine, IM Dec 1998CompletedN/A
+ Tetanus and diphtheria toxoids, IM 1997RefusedN/A
Hepatitis BAug 1, 2012Completed3rd
+
+ + + + + + + + + + + + + + + + + + + Influenza, seasonal, IM + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 102 Health Drive + Ann Arbor + MI + 99099 + US + + + + + Amanda + Assigned + + + + + Good Health Clinic + + + + + + + + + + + + + + + Possible flu-like symptoms for three days. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 102 Health Drive + Ann Arbor + MI + 99099 + US + + + + + Amanda + Assigned + + + + + Good Health Clinic + + + + + + + + + + + + + + + Possible flu-like symptoms for three days. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 102 Health Drive + Ann Arbor + MI + 99099 + US + + + + + Amanda + Assigned + + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + Health LS - Immuno Inc. + + + + + + + + 102 Health Drive + Ann Arbor + MI + 99099 + US + + + + + Amanda + Assigned + + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + + + + + + 102 Health Drive + Ann Arbor + MI + 99099 + US + + + + + Amanda + Assigned + + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + MEDICAL EQUIPMENT + + Medical Equipment + + Implanted Devices: Cardiac PaceMaker July 3, 2012 + Implanted Devices: Upper GI Prosthesis, January 3, 2013 + Cane, February 2, 2003 + + Biliary Stent, May 5, 2013 + + + + + + + + + Implants + + + + + + + + + + + + + + + + + + + + + + + + Cardiac Pacemaker + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + Upper GI Prosthesis + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + + Upper GI Prosthesis + + + + + Good Health Durable Medical Equipment + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1004 Health Care Drive + Ann Arbor + MI + 02368 + US + + + + + Community Health and Hospitals + + + 1003 Health Care Drive + Ann Arbor + MI + 02368 + US + + + + + + +
+
+ + +
+ + + + MENTAL STATUS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mental Status FindingsEffective DatesCondition Status
Mental FunctionMarch 11, 2013Impaired
Mental FunctionMarch 11, 2013Agressive Behavior
Mental FunctionMarch 11, 2013Difficulty understanding own emotions
Mental FunctionMarch 11, 2013Difficulty communicating Thoughts
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + NUTRITION SECTION + + Nutritional Status: well nourished + Diet: Low sodium diet, excessive carbohydrate + + + + + + + + Nutritional Status + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + MEDICATIONS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Current MedicationDirectionsStart DateStatusIndicationsMonitored by
Proventil 0.09 MG/ACTUAT inhalant solution2 puffs q6 hours PRN wheezingJan 3, 2013ActiveAsthmaPenny Puffer, MD
Atenolol 25 MG Oral Tablet1 every 12 hours OrallyMar 18, 2013ActiveHypertension +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + Community Health and Hospitals + + + + + + + + + + + + + Aerosol + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Puffer + Penny + DR + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Insurance Providers + + + + + + + + + + + + + + + + + + + + +
Payer namePolicy type / Coverage typePolicy IDCovered party IDPolicy Holder
Good Health InsuranceExtended healthcare / FamilyContract Number1138345Patient's Mother
+
+ + + + + + + + + + + + + + + + + + + + + + + 123 Insurance Road + Blue Bell + MA + 02368 + US + + + + + Good Health Insurance + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + + + + + Mr. + Frank + A. + Everyman + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + Physical Examination + Key Findings: In addition to Assessment finding above. 1. Type II diabetes, uncontrolled. 2. Slow + healing Open wound on left knee. 3. Early signs of peripheral neuropathy. 4. Mild dysphagia. 5. Mild + footdrop. + + + +
+ + + + SKIN, PHYSICAL FINDING + + + Stage 3 Pressure Ulcer anterior aspect of knee
+ Measuring 1"W X 2"L + Wound Characteristic: Offensive wound odor + Three Stage 3 pressure ulcers. + Worst pressure ulcer with necrotic eschar. +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + +
+ + + + TREATMENT PLAN + + Hand-off Communication: + Nurse Florence, RN to Nancy Nightingale, RN +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Planned CareStart DatePatient Provider RatingProvider Provider RatingProviderPatient Support/Caregiver
Encounter for Check-upJune 15, 20131st, Normal Priority3rd, Normal PriorityDr. James Case +
Care Goal: Pulse Oximetry 95%June 15, 20131st, Normal Priority3rd, Normal Priority + Caregiver: Mother
Treatment: Wound CareJune 15, 20131st, Normal Priority3rd, Normal Priority + Caregiver: Mother
Nutrition Recommendation: EducationJune 13, 2013 + + + +
Procedure: ColonoscopyJune 15, 20131st, Normal Priority3rd, Normal Priority + Caregiver: Mother
Medication: Heparin 0.25 ml pre-filled syringeJuly 12, 20131st, Normal Priority3rd, Normal Priority + Caregiver: Mother
Supply: 0.25 ML Heparin sodium 10000 UNT/ML Prefilled SyringeJune 15, 2013 + + Dr. Henry Seven +
Immunization: Influenza virus vaccine, IMNovember 15, 20131st, Normal Priority3rd, Normal PriorityDr. Henry Seven +
+
+ + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Nancy + Nightingale + RN + + + + + + + + + + + + + + + + + + + + 1006 Health Drive + Ann Arbor + MI + 97867 + US + + + + + Dr. + James + Case + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Heparin 0.25 ml Pre-filled Syringe + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Influenza virus vaccine + + + 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Possible flu-like symptoms for three days. + + + + + + + + + + + + + + + + + + + + + + + + + + + + Medication Factory Inc. + + + + + + + + + + + + +
+
+ + +
+ + + + PROBLEMS + + Active Concerns + + Problem #1 + malignant neoplasm of liver (onset July 3, 2013)[authored July 3, 2013] + Prognosis: Presence of a life limiting condition(>50% possibility of death within 2 year + + + Problem #2 + Chest pain (onset Apr 14, 2007) [authored Apr 14, 2007] + Angina (onset Apr 17, 2007) [authored Apr 17, 2007] + + + + Resolved Concerns + + Problem #3 + Pneumonia - Left lower lobe (onset Mar 10, 1998; resolution Mar 16, 1998) [authored Mar 16, + 1998] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pognosis + + + Presence of a life limiting condition(>50% possibility of death within 2 + year + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + Procedures + + + + + + + + + + + + + + +
ProcedureDate
+ Colonic polypectomy + 1998
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Good Health Clinic + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Good Health Clinic + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + Good Health Clinic + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + Good Health Clinic + + + + + +
+
+ + +
+ + + REASON FOR REFERRAL + + Patient referral for consultation for full care. Referral Nurse: Nurse Florence,RN + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + + RESULTS + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Result TypeResult ValueRelevant Reference RangeInterpretationDate
+ Hemoglobin + + 13.2 g/dL + + Normal range for women is 12.0 to 15.5 grams per deciliter + NormalMarch 11, 2013
+ Leukocytes + + 6.7 10*9/L + + Normal white blood cell count range 3.5-10.5 billion cells/L + NormalMarch 11, 2013
+ Platelets + + 123 10*9/L + + Normal white blood cell count range 3.5-10.5 billion cells/L + LowMarch 11, 2013
+ Hematocrit + + 35.3 % + + Normal hematocrit range for female: 34.9-44.5 percent + NormalMarch 11, 2013
+ Erythrocytes + + 4.21 10*12/L + + Normal red blood cell count range 3.90-5.03 trillion cells/L + NormalMarch 11, 2013
+ Urea nitrogen, Serum + PendingPendingPendingMarch 11, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 6.7 billion per liter + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+ + + REVIEW OF SYSTEMS + + Patient denies recent history of fever or malaise. Positive For weakness and shortness of + breath. One episode of melena. No recent headaches. Positive for osteoarthritis in hips, knees and hands. + + +
+
+ + +
+ + + + SOCIAL HISTORY + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Social History ElementDescriptionEffective Dates
Alcohol Use2 Drinks per WeekMarch 12, 2013
Smoking StatusFormer smokerMay 1, 2005 - Feb 27, 2009
Characteristics of Home EnvironmentUnsatisfactory Living ConditionsMarch 12, 2013
Cultural and Religious ObservationsDoes not accept blood transfusions, or donates, or stores blood for transfusion.March 12, 2013
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Does not accept blood transfusions, or donates, or stores blood for + transfusion. + + + + + + + + + + + + + + +
+
+ + +
+ + + + VITAL SIGNS + + + + + + + + + + + + + + + + + + + + + + + + + + +
Date / Time: February 12, 2013August 1, 2013
Height + 177 cm + + 177 cm +
Weight + 86 kg + + 88 kg +
Blood Pressure + 132/88 + + 128/80 +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
diff --git a/data/SampleData/Cda/Unstructured_Document_embed.cda b/data/SampleData/Cda/Unstructured_Document_embed.cda new file mode 100644 index 000000000..1aaf0d511 --- /dev/null +++ b/data/SampleData/Cda/Unstructured_Document_embed.cda @@ -0,0 +1,271 @@ + + + + + + + + + + + + + Community Health and Hospitals: Discharge Summary (UD) + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + + US + + + + + + + Henry + L + Levin + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + + US + + + + + Ralph + Jones + + + + + + + Beaverton + OR + 97867 + US + + + + + + + + + + + + Community Health Hospital + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + 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cmksQm9sZC9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0b3IgNiAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDEyNC9XaWR0aHMgOTkgMCBSPj4NCmVuZG9iag0KNiAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BQkNERUUrQ2FsaWJyaSxCb2xkL0ZsYWdzIDMyL0l0YWxpY0FuZ2xlIDAvQXNjZW50IDc1MC9EZXNjZW50IC0yNTAvQ2FwSGVpZ2h0IDc1MC9BdmdXaWR0aCA1MzYvTWF4V2lkdGggMTc1OS9Gb250V2VpZ2h0IDcwMC9YSGVpZ2h0IDI1MC9TdGVtViA1My9Gb250QkJveFsgLTUxOSAtMjUwIDEyNDAgNzUwXSAvRm9udEZpbGUyIDEwMCAwIFI+Pg0KZW5kb2JqDQo3IDAgb2JqDQo8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9OYW1lL0YyL0Jhc2VGb250L0FCQ0RFRStDYWxpYnJpL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciA4IDAgUi9GaXJzdENoYXIgMzIvTGFzdENoYXIgMTAzL1dpZHRocyAxMDEgMCBSPj4NCmVuZG9iag0KOCAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BQkNERUUrQ2FsaWJyaS9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA3NTAvRGVzY2VudCAtMjUwL0NhcEhlaWdodCA3NTAvQXZnV2lkdGggNTIxL01heFdpZHRoIDE3NDMvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvU3RlbVYgNTIvRm9udEJCb3hbIC01MDMgLTI1MCAxMjQwIDc1MF0gL0ZvbnRGaWxlMiAxMDIgMCBSPj4NCmVuZG9iag0KOSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GMy9CYXNlRm9udC9BcmlhbC9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRm9udERlc2NyaXB0b3IgMTAgMCBSL0ZpcnN0Q2hhciAzMi9MYXN0Q2hhciAxMjIvV2lkdGhzIDEwMyAwIFI+Pg0KZW5kb2JqDQoxMCAwIG9iag0KPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250TmFtZS9BcmlhbC9GbGFncyAzMi9JdGFsaWNBbmdsZSAwL0FzY2VudCA5MDUvRGVzY2VudCAtMjEwL0NhcEhlaWdodCA3MjgvQXZnV2lkdGggNDQxL01heFdpZHRoIDI2NjUvRm9udFdlaWdodCA0MDAvWEhlaWdodCAyNTAvTGVhZGluZyAzMy9TdGVtViA0NC9Gb250QkJveFsgLTY2NSAtMjEwIDIwMDAgNzI4XSA+Pg0KZW5kb2JqDQoxMSAwIG9iag0KPDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvTmFtZS9GNC9CYXNlRm9udC9BcmlhbCxCb2xkL0VuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9Gb250RGVzY3JpcHRvciAxMiAwIFIvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDExNi9XaWR0aHMgMTA0IDAgUj4+DQplbmRvYmoNCjEyIDAgb2JqDQo8PC9UeXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0FyaWFsLEJvbGQvRmxhZ3MgMzIvSXRhbGljQW5nbGUgMC9Bc2NlbnQgOTA1L0Rlc2NlbnQgLTIxMC9DYXBIZWlnaHQgNzI4L0F2Z1dpZHRoIDQ3OS9NYXhXaWR0aCAyNjI4L0ZvbnRXZWlnaHQgNzAwL1hIZWlnaHQgMjUwL0xlYWRpbmcgMzMvU3RlbVYgNDcvRm9udEJCb3hbIC02MjggLTIxMCAyMDAwIDcyOF0gPj4NCmVuZG9iag0KMTMgMCBvYmoNCjw8L1R5cGUvUGFnZS9QYXJlbnQgMiAwIFIvUmVzb3VyY2VzPDwvRm9udDw8L0YxIDUgMCBSL0YyIDcgMCBSL0Y0IDExIDAgUi9GMyA5IDAgUj4+L0V4dEdTdGF0ZTw8L0dTMTUgMTUgMCBSL0dTMTYgMTYgMCBSPj4vUHJvY1NldFsvUERGL1RleHQvSW1hZ2VCL0ltYWdlQy9JbWFnZUldID4+L01lZGlhQm94WyAwIDAgNjEyIDc5Ml0gL0NvbnRlbnRzIDE0IDAgUi9Hcm91cDw8L1R5cGUvR3JvdXAvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNl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DQowMDAwMDAwMDI5IDY1NTM1IGYNCjAwMDAwMDAwMzAgNjU1MzUgZg0KMDAwMDAwMDAzMSA2NTUzNSBmDQowMDAwMDAwMDMyIDY1NTM1IGYNCjAwMDAwMDAwMzMgNjU1MzUgZg0KMDAwMDAwMDAzNCA2NTUzNSBmDQowMDAwMDAwMDM1IDY1NTM1IGYNCjAwMDAwMDAwMzYgNjU1MzUgZg0KMDAwMDAwMDAzNyA2NTUzNSBmDQowMDAwMDAwMDM4IDY1NTM1IGYNCjAwMDAwMDAwMzkgNjU1MzUgZg0KMDAwMDAwMDA0MCA2NTUzNSBmDQowMDAwMDAwMDQxIDY1NTM1IGYNCjAwMDAwMDAwNDIgNjU1MzUgZg0KMDAwMDAwMDA0MyA2NTUzNSBmDQowMDAwMDAwMDQ0IDY1NTM1IGYNCjAwMDAwMDAwNDUgNjU1MzUgZg0KMDAwMDAwMDA0NiA2NTUzNSBmDQowMDAwMDAwMDQ3IDY1NTM1IGYNCjAwMDAwMDAwNDggNjU1MzUgZg0KMDAwMDAwMDA0OSA2NTUzNSBmDQowMDAwMDAwMDUwIDY1NTM1IGYNCjAwMDAwMDAwNTEgNjU1MzUgZg0KMDAwMDAwMDA1MiA2NTUzNSBmDQowMDAwMDAwMDUzIDY1NTM1IGYNCjAwMDAwMDAwNTQgNjU1MzUgZg0KMDAwMDAwMDA1NSA2NTUzNSBmDQowMDAwMDAwMDU2IDY1NTM1IGYNCjAwMDAwMDAwNTcgNjU1MzUgZg0KMDAwMDAwMDA1OCA2NTUzNSBmDQowMDAwMDAwMDU5IDY1NTM1IGYNCjAwMDAwMDAwNjAgNjU1MzUgZg0KMDAwMDAwMDA2MSA2NTUzNSBmDQowMDAwMDAwMDYyIDY1NTM1IGYNCjAwMDAwMDAwNjMgNjU1MzUgZg0KMDAwMDAwMDA2NCA2NTUzNSBmDQowMDAwMDAwMDY1IDY1NTM1IGYNCjAwMDAwMDAwNjYgNjU1MzUgZg0KMDAwMDAwMDA2NyA2NTUzNSBmDQowMDAwMDAwMDY4IDY1NTM1IGYNCjAwMDAwMDAwNjkgNjU1MzUgZg0KMDAwMDAwMDA3MCA2NTUzNSBmDQowMDAwMDAwMDcxIDY1NTM1IGYNCjAwMDAwMDAwNzIgNjU1MzUgZg0KMDAwMDAwMDA3MyA2NTUzNSBmDQowMDAwMDAwMDc0IDY1NTM1IGYNCjAwMDAwMDAwNzUgNjU1MzUgZg0KMDAwMDAwMDA3NiA2NTUzNSBmDQowMDAwMDAwMDc3IDY1NTM1IGYNCjAwMDAwMDAwNzggNjU1MzUgZg0KMDAwMDAwMDA3OSA2NTUzNSBmDQowMDAwMDAwMDgwIDY1NTM1IGYNCjAwMDAwMDAwODEgNjU1MzUgZg0KMDAwMDAwMDA4MiA2NTUzNSBmDQowMDAwMDAwMDgzIDY1NTM1IGYNCjAwMDAwMDAwODQgNjU1MzUgZg0KMDAwMDAwMDA4NSA2NTUzNSBmDQowMDAwMDAwMDg2IDY1NTM1IGYNCjAwMDAwMDAwODcgNjU1MzUgZg0KMDAwMDAwMDA4OCA2NTUzNSBmDQowMDAwMDAwMDg5IDY1NTM1IGYNCjAwMDAwMDAwOTAgNjU1MzUgZg0KMDAwMDAwMDA5MSA2NTUzNSBmDQowMDAwMDAwMDkyIDY1NTM1IGYNCjAwMDAwMDAwOTMgNjU1MzUgZg0KMDAwMDAwMDA5NCA2NTUzNSBmDQowMDAwMDAwMDk1IDY1NTM1IGYNCjAwMDAwMDAwOTYgNjU1MzUgZg0KMDAwMDAwMDA5NyA2NTUzNSBmDQowMDAwMDAwMDk4IDY1NTM1IGYNCjAwMDAwMDAwMDAgNjU1MzUgZg0KMDAwMDAxMzU3MCAwMDAwMCBuDQowMDAwMDEzNzg5IDAwMDAwIG4NCjAwMDAwOTE0MDcgMDAwMDAgbg0KMDAwMDA5MTU4NSAwMDAwMCBuDQowMDAwMTcwMjYwIDAwMDAwIG4NCjAwMDAxNzA2MDIgMDAwMDAgbg0KMDAwMDE3MDg3MCAwMDAwMCBuDQp0cmFpbGVyDQo8PC9TaXplIDEwNi9Sb290IDEgMCBSL0luZm8gMTkgMCBSL0lEWzw2RTM5RTVGNDU5NUNCMzQ1ODA5NjIyRkVEMjI5NEY0ND48NkUzOUU1RjQ1OTVDQjM0NTgwOTYyMkZFRDIyOTRGNDQ+XSA+Pg0Kc3RhcnR4cmVmDQoxNzEzMjkNCiUlRU9GDQp4cmVmDQowIDANCnRyYWlsZXINCjw8L1NpemUgMTA2L1Jvb3QgMSAwIFIvSW5mbyAxOSAwIFIvSURbPDZFMzlFNUY0NTk1Q0IzNDU4MDk2MjJGRUQyMjk0RjQ0Pjw2RTM5RTVGNDU5NUNCMzQ1ODA5NjIyRkVEMjI5NEY0ND5dIC9QcmV2IDE3MTMyOS9YUmVmU3RtIDE3MDg3MD4+DQpzdGFydHhyZWYNCjE3MzYwOQ0KJSVFT0Y= + + + + diff --git a/data/SampleData/Cda/Unstructured_Document_reference.cda b/data/SampleData/Cda/Unstructured_Document_reference.cda new file mode 100644 index 000000000..4b83f9940 --- /dev/null +++ b/data/SampleData/Cda/Unstructured_Document_reference.cda @@ -0,0 +1,265 @@ + + + + + + + + + + + + + Community Health and Hospitals: Discharge Summary (UD) + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + + US + + + + + + + Henry + L + Levin + + + + + + + + + + + + 1357 Amber Drive + Beaverton + OR + 97867 + + US + + + + + Ralph + Jones + + + + + + + Beaverton + OR + 97867 + US + + + + + + + + + + + + Community Health Hospital + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + 1001 Village Avenue + Portland + OR + 99123 + US + + + + + Henry + Seven + + + + + + + + + + + Frank + Jones + + + + + + + + + Community Health and Hospitals + + + 1002 Healthcare Drive + Portland + OR + 99123 + US + + + + + + + + + Henry + Seven + + + + Community Health and Hospitals + + + + + + + + + + + + + + + + + + diff --git a/data/SampleData/Cda/sample.cda b/data/SampleData/Cda/sample.cda new file mode 100644 index 000000000..b4ef99374 --- /dev/null +++ b/data/SampleData/Cda/sample.cda @@ -0,0 +1,284 @@ + + + + + + + + + + + + + + + Discharge Summary (UD) + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + + + + Mr. + Adam + Frankie + + Everyman + + + + + + + + + + + + 17 Daws Rd. + Blue Bell + MA + 02368 + US + + + + + + Ralph + Relative + + + + + + + MA + 02368 + USA + + + + + + + + + + + + Good Health Clinic + + + 21 North Ave + Burlington + MA + 02368 + USA + + + + + + + + + + + 21 North Ave. + Burlington + MA + 02368 + USA + + + + + Henry + Seven + + + + + + + + + 21 North Ave. + Burlington + MA + 02368 + USA + + + + + Henry + Seven + + + + + + + + + + + Rose + Everyman + + + + + + + + + Good Health Clinic + + + 17 Daws Rd. + Blue Bell + MA + 02368 + USA + + + + + + + + + Henry + Seven + + + + Good Health Clinic + + + + + + + + + + + + + + + + + + + diff --git a/data/Templates/Cda/CCD.liquid b/data/Templates/Cda/CCD.liquid new file mode 100644 index 000000000..4bd336919 --- /dev/null +++ b/data/Templates/Cda/CCD.liquid @@ -0,0 +1,18 @@ +{ + "resourceType": "Bundle", + "type": "batch", + "entry": [ + {% evaluate patientId using 'Utils/GenerateId' obj: msg.ClinicalDocument.recordTarget.patientRole -%} + {% assign fullPatientId = patientId | prepend: 'Patient/' -%} + {% include 'Header' -%} + {% include 'Section/AllergiesAndAdverseReactions' -%} + {% include 'Section/Medication' -%} + {% include 'Section/Problem' -%} + {% include 'Section/Results' -%} + {% include 'Section/SocialHistory' -%} + {% include 'Section/VitalSigns' -%} + + {% assign documentId = msg | to_json_string | generate_uuid -%} + {% include 'Resource/DocumentReference' documentReference: msg ID: documentId -%} + ] +} \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_Address.liquid b/data/Templates/Cda/DataType/_Address.liquid new file mode 100644 index 000000000..6a99c56d0 --- /dev/null +++ b/data/Templates/Cda/DataType/_Address.liquid @@ -0,0 +1,11 @@ +"use": "{{ Address.use | get_property: 'ValueSet/AddressUse' }}", +"line": [ + {% assign lines = Address.streetAddressLine | to_array -%} + {% for l in lines -%} + "{{l._}}", + {% endfor -%} +], +"city": "{{Address.city._}}", +"state": "{{Address.state._}}", +"country": "{{Address.country._}}", +"postalCode": "{{Address.postalCode._}}", \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_CodeableConcept.liquid b/data/Templates/Cda/DataType/_CodeableConcept.liquid new file mode 100644 index 000000000..1e8c7f956 --- /dev/null +++ b/data/Templates/Cda/DataType/_CodeableConcept.liquid @@ -0,0 +1,4 @@ +"coding": +[ + { {% include 'DataType/Coding' Coding: CodeableConcept -%} }, +], \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_Coding.liquid b/data/Templates/Cda/DataType/_Coding.liquid new file mode 100644 index 000000000..7ab776b47 --- /dev/null +++ b/data/Templates/Cda/DataType/_Coding.liquid @@ -0,0 +1,3 @@ +"code":"{{Coding.code}}", +"display":"{{Coding.displayName}}", +"system":{% include 'ValueSet/SystemReference' code: Coding.codeSystem -%}, \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_ContactPoint.liquid b/data/Templates/Cda/DataType/_ContactPoint.liquid new file mode 100644 index 000000000..3ba38cced --- /dev/null +++ b/data/Templates/Cda/DataType/_ContactPoint.liquid @@ -0,0 +1,11 @@ +{% if ContactPoint.value -%} + {% if ContactPoint.value | contains: 'tel:' -%} + "system":"phone", + "value": "{{ContactPoint.value | replace: 'tel:\s*', ''}}", + "use": "{{ ContactPoint.use | get_property: 'ValueSet/TelecomUse' }}", + {% elsif ContactPoint.value | contains: 'mailto:' -%} + "system":"email", + "value": "{{ContactPoint.value | replace: 'mailto:\s*', ''}}", + "use": "{{ ContactPoint.use | get_property: 'ValueSet/TelecomUse' }}", + {% endif -%} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_HumanName.liquid b/data/Templates/Cda/DataType/_HumanName.liquid new file mode 100644 index 000000000..62206949f --- /dev/null +++ b/data/Templates/Cda/DataType/_HumanName.liquid @@ -0,0 +1,16 @@ +"use":"{{ HumanName.use | get_property: 'ValueSet/NameUse' }}", +"family":"{{HumanName.family._}}", +"given":[ + {% assign givens = HumanName.given | to_array -%} + {% for g in givens -%} + "{{g._}}", + {% endfor -%} +], +"prefix": +[ + "{{HumanName.prefix._}}", +], +"suffix": +[ + "{{HumanName.suffix._}}", +] \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_Identifier.liquid b/data/Templates/Cda/DataType/_Identifier.liquid new file mode 100644 index 000000000..61ccf5133 --- /dev/null +++ b/data/Templates/Cda/DataType/_Identifier.liquid @@ -0,0 +1,13 @@ +{% if Identifier.nullFlavor == null -%} + {% if Identifier.extension -%} + "system":{% include 'ValueSet/SystemReference' code: Identifier.root -%}, + "value":"{{Identifier.extension}}", + "assigner": + { + "display":"{{Identifier.assigningAuthorityName}}" + } + {% else -%} + "system":"urn:ietf:rfc:3986", + "value":"urn:uuid:{{Identifier.root}}", + {% endif -%} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/DataType/_Period.liquid b/data/Templates/Cda/DataType/_Period.liquid new file mode 100644 index 000000000..b3443de39 --- /dev/null +++ b/data/Templates/Cda/DataType/_Period.liquid @@ -0,0 +1,2 @@ +"start":"{{ Period.low.value | format_as_date_time }}", +"end":"{{ Period.high.value | format_as_date_time }}", \ No newline at end of file diff --git a/data/Templates/Cda/Entry/Medication/_entry.liquid b/data/Templates/Cda/Entry/Medication/_entry.liquid new file mode 100644 index 000000000..87aa279db --- /dev/null +++ b/data/Templates/Cda/Entry/Medication/_entry.liquid @@ -0,0 +1,19 @@ +{% if entry.substanceAdministration -%} + {% assign medicationStatementId = entry.substanceAdministration | to_json_string | generate_uuid -%} + {% include 'Resource/MedicationStatement' medicationStatement: entry.substanceAdministration, ID: medicationStatementId -%} + {% include 'Reference/MedicationStatement/Subject' ID: medicationStatementId, REF: fullPatientId -%} +{% endif -%} + +{% if entry.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial -%} + {% assign medicationId = entry.substanceAdministration.consumable | to_json_string | generate_uuid -%} + {% include 'Resource/Medication' medication: entry.substanceAdministration.consumable.manufacturedProduct.manufacturedMaterial, ID: medicationId -%} + {% assign fullMedicationId = medicationId | prepend: 'Medication/' -%} + {% include 'Reference/MedicationStatement/MedicationReference' ID: medicationStatementId, REF: fullMedicationId -%} + + {{ entry.substanceAdministration.entryRelationship | to_array | batch_render: 'Entry/Medication/entry_substanceAdministration_entryRelationship', 'relationship' }} +{% endif -%} + +{% if entry.substanceAdministration.informant.assignedEntity.representedOrganization.name._ -%} + {% assign organizationId = entry.substanceAdministration.informant.assignedEntity.representedOrganization | to_json_string | generate_uuid -%} + {% include 'Resource/Organization' org: entry.substanceAdministration.informant.assignedEntity.representedOrganization ID: organizationId -%} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid b/data/Templates/Cda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid new file mode 100644 index 000000000..6e917ca58 --- /dev/null +++ b/data/Templates/Cda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid @@ -0,0 +1,12 @@ +{% if relationship.supply -%} + {% assign medicationRequestId = relationship.supply | to_json_string | generate_uuid -%} + {% include 'Resource/MedicationRequest' medicationRequest: relationship.supply, ID: medicationRequestId -%} + {% include 'Reference/MedicationRequest/Subject' ID: medicationRequestId, REF: fullPatientId -%} + {% include 'Reference/MedicationRequest/MedicationReference' ID: medicationRequestId, REF: fullMedicationId -%} +{% endif -%} +{% if relationship.supply.author.assignedAuthor -%} + {% evaluate practitionerId using 'Utils/GenerateId' obj: relationship.supply.author.assignedAuthor -%} + {% include 'Resource/Practitioner' practitioner: relationship.supply.author.assignedAuthor, ID: practitionerId -%} + {% assign fullPractitionerId = practitionerId | prepend: 'Practitioner/' -%} + {% include 'Reference/MedicationRequest/Requester' ID: medicationRequestId, REF: fullPractitionerId -%} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/Problem/_entry.liquid b/data/Templates/Cda/Entry/Problem/_entry.liquid new file mode 100644 index 000000000..19257e65f --- /dev/null +++ b/data/Templates/Cda/Entry/Problem/_entry.liquid @@ -0,0 +1 @@ +{{ entry.act.entryRelationship | to_array | batch_render: 'Entry/Problem/entry_act_entryRelationship', 'relationship' }} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/Problem/_entry_act_entryRelationship.liquid b/data/Templates/Cda/Entry/Problem/_entry_act_entryRelationship.liquid new file mode 100644 index 000000000..5ddcf507b --- /dev/null +++ b/data/Templates/Cda/Entry/Problem/_entry_act_entryRelationship.liquid @@ -0,0 +1,3 @@ +{% assign conditionId = relationship.observation | to_json_string | generate_uuid -%} +{% include 'Resource/Condition' conditionEntry: relationship.observation, ID: conditionId -%} +{% include 'Reference/Condition/Subject' ID: conditionId, REF: fullPatientId -%} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/Results/_entry.liquid b/data/Templates/Cda/Entry/Results/_entry.liquid new file mode 100644 index 000000000..966a11457 --- /dev/null +++ b/data/Templates/Cda/Entry/Results/_entry.liquid @@ -0,0 +1,4 @@ +{% assign diagnosticId = entry.organizer | to_json_string | generate_uuid -%} +{% include 'Resource/DiagnosticReport' diagnosticReport: entry.organizer, ID: diagnosticId -%} +{% include 'Reference/DiagnosticReport/Subject' ID: diagnosticId, REF: fullPatientId -%} +{{ entry.organizer.component | to_array | batch_render: 'Entry/Results/entry_organizer_component', 'component' }} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/Results/_entry_organizer_component.liquid b/data/Templates/Cda/Entry/Results/_entry_organizer_component.liquid new file mode 100644 index 000000000..34e48dfa7 --- /dev/null +++ b/data/Templates/Cda/Entry/Results/_entry_organizer_component.liquid @@ -0,0 +1,7 @@ +{% if component.observation -%} + {% assign observationId = component.observation | to_json_string | generate_uuid -%} + {% include 'Resource/Observation' observationCategory: 'laboratory', observationEntry: component.observation, ID: observationId -%} + {% assign fullObservationId = observationId | prepend: 'Observation/' -%} + {% include 'Reference/DiagnosticReport/Result' ID: diagnosticId, REF: fullObservationId -%} + {% include 'Reference/Observation/Subject' ID: observationId, REF: fullPatientId -%} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/SocialHistory/_entry.liquid b/data/Templates/Cda/Entry/SocialHistory/_entry.liquid new file mode 100644 index 000000000..86293766a --- /dev/null +++ b/data/Templates/Cda/Entry/SocialHistory/_entry.liquid @@ -0,0 +1,3 @@ +{% assign observationId = entry.observation | to_json_string | generate_uuid -%} +{% include 'Resource/Observation' observationCategory: 'social-history', observationEntry: entry.observation, ID: observationId -%} +{% include 'Reference/Observation/Subject' ID: observationId, REF: fullPatientId -%} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/VitalSigns/_entry.liquid b/data/Templates/Cda/Entry/VitalSigns/_entry.liquid new file mode 100644 index 000000000..4dd477cb6 --- /dev/null +++ b/data/Templates/Cda/Entry/VitalSigns/_entry.liquid @@ -0,0 +1 @@ +{{ entry.organizer.component | to_array | batch_render: 'Entry/VitalSigns/entry_organizer_component', 'component' }} \ No newline at end of file diff --git a/data/Templates/Cda/Entry/VitalSigns/_entry_organizer_component.liquid b/data/Templates/Cda/Entry/VitalSigns/_entry_organizer_component.liquid new file mode 100644 index 000000000..267bb142a --- /dev/null +++ b/data/Templates/Cda/Entry/VitalSigns/_entry_organizer_component.liquid @@ -0,0 +1,3 @@ +{% assign observationId = component.observation | to_json_string | generate_uuid -%} +{% include 'Resource/Observation' observationCategory: 'vital-signs', observationEntry: component.observation, ID: observationId -%} +{% include 'Reference/Observation/Subject' ID: observationId, REF: fullPatientId -%} \ No newline at end of file diff --git a/data/Templates/Cda/Extension/_Ethnicity.liquid b/data/Templates/Cda/Extension/_Ethnicity.liquid new file mode 100644 index 000000000..8d6c0c558 --- /dev/null +++ b/data/Templates/Cda/Extension/_Ethnicity.liquid @@ -0,0 +1,49 @@ +{% if Ethnicity.ethnicGroupCode -%} + "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": + [ + {% assign ethnicCodes1 = Ethnicity.ethnicGroupCode | to_array -%} + {% assign ethnicCodes2 = Ethnicity.sdtc_ethnicGroupCode | to_array -%} + {% assign ethnicCodes = ethnicCodes1 | concat: ethnicCodes2 -%} + {% for e in ethnicCodes -%} + { + {% if e.nullFlavor -%} + "url" : "ombCategory", + "valueCoding": + { + "system":"http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code":"{{e.nullFlavor}}", + {% assign normalizedCode = e.nullFlavor | upcase -%} + {% if normalizedCode == 'ASKU' -%} + "display":"Asked but no answer", + {% else %} + "display":"Unknown", + {% endif -%} + }, + {% else -%} + {% if e.code == '2135-2' or e.code == '2186-5' -%} + "url" : "ombCategory", + {% else -%} + "url" : "detailed", + {% endif -%} + "valueCoding" : { {% include 'DataType/Coding' Coding: e -%} }, + {% endif -%} + }, + {% endfor -%} + { + "url": "text", + {% if Ethnicity.sdtc_ethnicGroupCode -%} + "valueString":"Mixed", + {% elsif Ethnicity.ethnicGroupCode.nullFlavor -%} + {% assign normalizedCode = Ethnicity.ethnicGroupCode.nullFlavor | upcase -%} + {% if normalizedCode == 'ASKU' -%} + "valueString":"Asked but no answer", + {% else -%} + "valueString":"Unknown", + {% endif -%} + {% else -%} + "valueString":"{{Ethnicity.ethnicGroupCode.displayName}}", + {% endif -%} + } + ], +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/Extension/_Race.liquid b/data/Templates/Cda/Extension/_Race.liquid new file mode 100644 index 000000000..589d9c70f --- /dev/null +++ b/data/Templates/Cda/Extension/_Race.liquid @@ -0,0 +1,49 @@ +{% if Race.raceCode -%} + "url" : "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": + [ + {% assign raceCodes1 = Race.raceCode | to_array -%} + {% assign raceCodes2 = Race.sdtc_raceCode | to_array -%} + {% assign raceCodes = raceCodes1 | concat: raceCodes2 -%} + {% for r in raceCodes -%} + { + {% if r.nullFlavor -%} + "url" : "ombCategory", + "valueCoding": + { + "system":"http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code":"{{r.nullFlavor}}", + {% assign normalizedCode = r.nullFlavor | upcase -%} + {% if normalizedCode == 'ASKU' -%} + "display":"Asked but no answer", + {% else -%} + "display":"Unknown", + {% endif -%} + }, + {% else -%} + {% if r.code == '1002-5' or r.code == '2028-9' or r.code == '2054-5' or r.code == '2076-8' or r.code == '2106-3' -%} + "url" : "ombCategory", + {% else %} + "url" : "detailed", + {% endif -%} + "valueCoding": { {% include 'DataType/Coding' Coding: r -%} }, + {% endif -%} + }, + {% endfor -%} + { + "url": "text", + {% if Race.sdtc_raceCode -%} + "valueString":"Mixed", + {% elsif Race.raceCode.nullFlavor -%} + {% assign normalizedCode = Race.raceCode.nullFlavor | upcase -%} + {% if normalizedCode == 'ASKU' -%} + "valueString":"Asked but no answer", + {% else %} + "valueString":"Unknown", + {% endif -%} + {% else -%} + "valueString":"{{Race.raceCode.displayName}}", + {% endif -%} + } + ], +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/Header.liquid b/data/Templates/Cda/Header.liquid new file mode 100644 index 000000000..1ef34159a --- /dev/null +++ b/data/Templates/Cda/Header.liquid @@ -0,0 +1,66 @@ +{% evaluate practitionerId using 'Utils/GenerateId' obj: msg.ClinicalDocument.legalAuthenticator.assignedEntity -%} +{% assign compositionId = msg.ClinicalDocument | to_json_string | generate_uuid -%} +{% include 'Resource/Composition' composition: msg.ClinicalDocument, practitionerId: practitionerId, ID: compositionId -%} +{% include 'Reference/Composition/Subject' ID: compositionId, REF: fullPatientId -%} + +{% if msg.ClinicalDocument.legalAuthenticator -%} + {% include 'Resource/Practitioner' practitioner: msg.ClinicalDocument.legalAuthenticator.assignedEntity ID: practitionerId -%} +{% endif -%} + +{% if msg.ClinicalDocument.componentOf.encompassingEncounter -%} + {% assign encounterId = msg.ClinicalDocument.componentOf.encompassingEncounter | to_json_string | generate_uuid -%} + {% include 'Resource/Encounter' encounter: msg.ClinicalDocument.componentOf.encompassingEncounter ID: encounterId -%} + {% assign fullEncounterId = encounterId | prepend: 'Encounter/' -%} + {% include 'Reference/Composition/Encounter' ID: compositionId, REF: fullEncounterId -%} +{% endif -%} + +{% if msg.ClinicalDocument.componentOf.encompassingEncounter.location -%} + {% assign locationId = msg.ClinicalDocument.componentOf.encompassingEncounter.location | to_json_string | generate_uuid -%} + {% include 'Resource/Location' location: msg.ClinicalDocument.componentOf.encompassingEncounter.location ID: locationId -%} + {% assign fullLocationId = locationId | prepend: 'Location/' -%} + {% include 'Reference/Encounter/Location_Location' ID: encounterId, REF: fullLocationId -%} +{% endif -%} + +{% if msg.ClinicalDocument.custodian.assignedCustodian.representedCustodianOrganization.name._ -%} + {% assign organizationId = msg.ClinicalDocument.custodian.assignedCustodian.representedCustodianOrganization | to_json_string | generate_uuid -%} + {% include 'Resource/Organization' organization: msg.ClinicalDocument.custodian.assignedCustodian.representedCustodianOrganization ID: organizationId -%} + {% assign fullOrganizationId = organizationId | prepend: 'Organization/' -%} + {% include 'Reference/Composition/Custodian' ID: compositionId, REF: fullOrganizationId -%} +{% endif -%} + +{% assign authors = msg.ClinicalDocument.author | to_array -%} +{% for author in authors -%} + {% if author.assignedAuthor.assignedAuthoringDevice -%} + {% assign deviceId = author | to_json_string | generate_uuid -%} + {% include 'Resource/Device' author: author.assignedAuthor ID: deviceId -%} + {% assign fullDeviceId = deviceId | prepend: 'Device/' -%} + {% include 'Reference/Composition/Author' ID: compositionId, REF: fullDeviceId -%} + {% endif -%} + + {% if author.assignedAuthor.representedOrganization -%} + {% assign organizationId = author.assignedAuthor.representedOrganization | to_json_string | generate_uuid -%} + {% include 'Resource/Organization' organization: author.assignedAuthor.representedOrganization ID: organizationId -%} + {% assign fullOrganizationId = organizationId | prepend: 'Organization/' -%} + {% if deviceId -%} + {% include 'Reference/Device/Owner' ID: deviceId, REF: fullOrganizationId -%} + {% endif -%} + {% endif -%} + + {% if author.assignedAuthor -%} + {% evaluate practitionerId using 'Utils/GenerateId' obj: author.assignedAuthor -%} + {% include 'Resource/Practitioner' practitioner: author.assignedAuthor ID: practitionerId -%} + {% assign fullPractitionerId = practitionerId | prepend: 'Practitioner/' -%} + {% include 'Reference/Composition/Author' ID: compositionId, REF: fullPractitionerId -%} + {% endif -%} +{% endfor -%} + +{% if msg.ClinicalDocument.recordTarget.patientRole -%} + {% include 'Resource/Patient' patientRole: msg.ClinicalDocument.recordTarget.patientRole ID: patientId -%} +{% endif -%} + +{% if msg.ClinicalDocument.recordTarget.patientRole.patient.guardian -%} + {% assign relatedPersonId = msg.ClinicalDocument.recordTarget.patientRole.patient.guardian | to_json_string | generate_uuid -%} + {% include 'Resource/RelatedPerson' relatedPerson: msg.ClinicalDocument.recordTarget.patientRole.patient.guardian ID: relatedPersonId -%} + {% assign fullPatientId = patientId | prepend: 'Patient/' -%} + {% include 'Reference/RelatedPerson/Patient' ID: relatedPersonId, REF: fullPatientId -%} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/Reference/Account/_Coverage_Coverage.liquid b/data/Templates/Cda/Reference/Account/_Coverage_Coverage.liquid new file mode 100644 index 000000000..e0c47e9ed --- /dev/null +++ b/data/Templates/Cda/Reference/Account/_Coverage_Coverage.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Account", + "id":"{{ ID }}", + "coverage": + [ + { + "coverage": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Account/_Guarantor_Party.liquid b/data/Templates/Cda/Reference/Account/_Guarantor_Party.liquid new file mode 100644 index 000000000..274d6ea30 --- /dev/null +++ b/data/Templates/Cda/Reference/Account/_Guarantor_Party.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Account", + "id":"{{ ID }}", + "guarantor": + [ + { + "party": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Account/_Owner.liquid b/data/Templates/Cda/Reference/Account/_Owner.liquid new file mode 100644 index 000000000..bbd40a36a --- /dev/null +++ b/data/Templates/Cda/Reference/Account/_Owner.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Account", + "id":"{{ ID }}", + "owner": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Account/_PartOf.liquid b/data/Templates/Cda/Reference/Account/_PartOf.liquid new file mode 100644 index 000000000..cd5a5318a --- /dev/null +++ b/data/Templates/Cda/Reference/Account/_PartOf.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Account", + "id":"{{ ID }}", + "partOf": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Account/_Subject.liquid b/data/Templates/Cda/Reference/Account/_Subject.liquid new file mode 100644 index 000000000..7b5fd4a41 --- /dev/null +++ b/data/Templates/Cda/Reference/Account/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Account", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_Location.liquid b/data/Templates/Cda/Reference/ActivityDefinition/_Location.liquid new file mode 100644 index 000000000..07de35c11 --- /dev/null +++ b/data/Templates/Cda/Reference/ActivityDefinition/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ActivityDefinition", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_ObservationRequirement.liquid b/data/Templates/Cda/Reference/ActivityDefinition/_ObservationRequirement.liquid new file mode 100644 index 000000000..f2e2f5e93 --- /dev/null +++ b/data/Templates/Cda/Reference/ActivityDefinition/_ObservationRequirement.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ActivityDefinition", + "id":"{{ ID }}", + "observationRequirement": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid b/data/Templates/Cda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid new file mode 100644 index 000000000..3852a8bad --- /dev/null +++ b/data/Templates/Cda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ActivityDefinition", + "id":"{{ ID }}", + "observationResultRequirement": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_ProductReference.liquid b/data/Templates/Cda/Reference/ActivityDefinition/_ProductReference.liquid new file mode 100644 index 000000000..945083793 --- /dev/null +++ b/data/Templates/Cda/Reference/ActivityDefinition/_ProductReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ActivityDefinition", + "id":"{{ ID }}", + "productReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_SpecimenRequirement.liquid b/data/Templates/Cda/Reference/ActivityDefinition/_SpecimenRequirement.liquid new file mode 100644 index 000000000..5289ab55f --- /dev/null +++ b/data/Templates/Cda/Reference/ActivityDefinition/_SpecimenRequirement.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ActivityDefinition", + "id":"{{ ID }}", + "specimenRequirement": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_SubjectReference.liquid b/data/Templates/Cda/Reference/ActivityDefinition/_SubjectReference.liquid new file mode 100644 index 000000000..f7ca2a79e --- /dev/null +++ b/data/Templates/Cda/Reference/ActivityDefinition/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ActivityDefinition", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Contributor.liquid b/data/Templates/Cda/Reference/AdverseEvent/_Contributor.liquid new file mode 100644 index 000000000..acc85a4a0 --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_Contributor.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "contributor": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Encounter.liquid b/data/Templates/Cda/Reference/AdverseEvent/_Encounter.liquid new file mode 100644 index 000000000..5428ca75e --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Location.liquid b/data/Templates/Cda/Reference/AdverseEvent/_Location.liquid new file mode 100644 index 000000000..5b2feedbc --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Recorder.liquid b/data/Templates/Cda/Reference/AdverseEvent/_Recorder.liquid new file mode 100644 index 000000000..55cda64e5 --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_Recorder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "recorder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_ReferenceDocument.liquid b/data/Templates/Cda/Reference/AdverseEvent/_ReferenceDocument.liquid new file mode 100644 index 000000000..b790cb006 --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_ReferenceDocument.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "referenceDocument": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_ResultingCondition.liquid b/data/Templates/Cda/Reference/AdverseEvent/_ResultingCondition.liquid new file mode 100644 index 000000000..e62ac86b6 --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_ResultingCondition.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "resultingCondition": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Study.liquid b/data/Templates/Cda/Reference/AdverseEvent/_Study.liquid new file mode 100644 index 000000000..47853ab20 --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_Study.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "study": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Subject.liquid b/data/Templates/Cda/Reference/AdverseEvent/_Subject.liquid new file mode 100644 index 000000000..72c55443d --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid b/data/Templates/Cda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid new file mode 100644 index 000000000..207718492 --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "subjectMedicalHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid b/data/Templates/Cda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid new file mode 100644 index 000000000..542ebbcfd --- /dev/null +++ b/data/Templates/Cda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "AdverseEvent", + "id":"{{ ID }}", + "suspectEntity": + [ + { + "instance": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Asserter.liquid b/data/Templates/Cda/Reference/AllergyIntolerance/_Asserter.liquid new file mode 100644 index 000000000..c0697f868 --- /dev/null +++ b/data/Templates/Cda/Reference/AllergyIntolerance/_Asserter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AllergyIntolerance", + "id":"{{ ID }}", + "asserter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Encounter.liquid b/data/Templates/Cda/Reference/AllergyIntolerance/_Encounter.liquid new file mode 100644 index 000000000..1617c1c45 --- /dev/null +++ b/data/Templates/Cda/Reference/AllergyIntolerance/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AllergyIntolerance", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Patient.liquid b/data/Templates/Cda/Reference/AllergyIntolerance/_Patient.liquid new file mode 100644 index 000000000..b98ecc345 --- /dev/null +++ b/data/Templates/Cda/Reference/AllergyIntolerance/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AllergyIntolerance", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Recorder.liquid b/data/Templates/Cda/Reference/AllergyIntolerance/_Recorder.liquid new file mode 100644 index 000000000..446e6cc82 --- /dev/null +++ b/data/Templates/Cda/Reference/AllergyIntolerance/_Recorder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AllergyIntolerance", + "id":"{{ ID }}", + "recorder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Appointment/_BasedOn.liquid b/data/Templates/Cda/Reference/Appointment/_BasedOn.liquid new file mode 100644 index 000000000..52428836f --- /dev/null +++ b/data/Templates/Cda/Reference/Appointment/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Appointment", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Appointment/_Participant_Actor.liquid b/data/Templates/Cda/Reference/Appointment/_Participant_Actor.liquid new file mode 100644 index 000000000..98886e234 --- /dev/null +++ b/data/Templates/Cda/Reference/Appointment/_Participant_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Appointment", + "id":"{{ ID }}", + "participant": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Appointment/_ReasonReference.liquid b/data/Templates/Cda/Reference/Appointment/_ReasonReference.liquid new file mode 100644 index 000000000..a2faec4ee --- /dev/null +++ b/data/Templates/Cda/Reference/Appointment/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Appointment", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Appointment/_Slot.liquid b/data/Templates/Cda/Reference/Appointment/_Slot.liquid new file mode 100644 index 000000000..e7c16f902 --- /dev/null +++ b/data/Templates/Cda/Reference/Appointment/_Slot.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Appointment", + "id":"{{ ID }}", + "slot": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Appointment/_SupportingInformation.liquid b/data/Templates/Cda/Reference/Appointment/_SupportingInformation.liquid new file mode 100644 index 000000000..a1ab707b1 --- /dev/null +++ b/data/Templates/Cda/Reference/Appointment/_SupportingInformation.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Appointment", + "id":"{{ ID }}", + "supportingInformation": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AppointmentResponse/_Actor.liquid b/data/Templates/Cda/Reference/AppointmentResponse/_Actor.liquid new file mode 100644 index 000000000..7bac55e1b --- /dev/null +++ b/data/Templates/Cda/Reference/AppointmentResponse/_Actor.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AppointmentResponse", + "id":"{{ ID }}", + "actor": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AppointmentResponse/_Appointment.liquid b/data/Templates/Cda/Reference/AppointmentResponse/_Appointment.liquid new file mode 100644 index 000000000..2adb15d3e --- /dev/null +++ b/data/Templates/Cda/Reference/AppointmentResponse/_Appointment.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "AppointmentResponse", + "id":"{{ ID }}", + "appointment": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/AuditEvent/_Agent_Location.liquid b/data/Templates/Cda/Reference/AuditEvent/_Agent_Location.liquid new file mode 100644 index 000000000..a8043ea88 --- /dev/null +++ b/data/Templates/Cda/Reference/AuditEvent/_Agent_Location.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "AuditEvent", + "id":"{{ ID }}", + "agent": + [ + { + "location": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AuditEvent/_Agent_Who.liquid b/data/Templates/Cda/Reference/AuditEvent/_Agent_Who.liquid new file mode 100644 index 000000000..272fed7ca --- /dev/null +++ b/data/Templates/Cda/Reference/AuditEvent/_Agent_Who.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "AuditEvent", + "id":"{{ ID }}", + "agent": + [ + { + "who": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AuditEvent/_Entity_What.liquid b/data/Templates/Cda/Reference/AuditEvent/_Entity_What.liquid new file mode 100644 index 000000000..e533651df --- /dev/null +++ b/data/Templates/Cda/Reference/AuditEvent/_Entity_What.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "AuditEvent", + "id":"{{ ID }}", + "entity": + [ + { + "what": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/AuditEvent/_Source_Observer.liquid b/data/Templates/Cda/Reference/AuditEvent/_Source_Observer.liquid new file mode 100644 index 000000000..5f0aef257 --- /dev/null +++ b/data/Templates/Cda/Reference/AuditEvent/_Source_Observer.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "AuditEvent", + "id":"{{ ID }}", + "source": + { + "observer": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Basic/_Author.liquid b/data/Templates/Cda/Reference/Basic/_Author.liquid new file mode 100644 index 000000000..993192205 --- /dev/null +++ b/data/Templates/Cda/Reference/Basic/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Basic", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Basic/_Subject.liquid b/data/Templates/Cda/Reference/Basic/_Subject.liquid new file mode 100644 index 000000000..a79459269 --- /dev/null +++ b/data/Templates/Cda/Reference/Basic/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Basic", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Binary/_SecurityContext.liquid b/data/Templates/Cda/Reference/Binary/_SecurityContext.liquid new file mode 100644 index 000000000..e3908145c --- /dev/null +++ b/data/Templates/Cda/Reference/Binary/_SecurityContext.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Binary", + "id":"{{ ID }}", + "securityContext": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid new file mode 100644 index 000000000..06aefc9d5 --- /dev/null +++ b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "BiologicallyDerivedProduct", + "id":"{{ ID }}", + "collection": + { + "collector": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid new file mode 100644 index 000000000..e70f2c844 --- /dev/null +++ b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "BiologicallyDerivedProduct", + "id":"{{ ID }}", + "collection": + { + "source": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Parent.liquid b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Parent.liquid new file mode 100644 index 000000000..bd9cb8bf7 --- /dev/null +++ b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Parent.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "BiologicallyDerivedProduct", + "id":"{{ ID }}", + "parent": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid new file mode 100644 index 000000000..2a0f7a465 --- /dev/null +++ b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "BiologicallyDerivedProduct", + "id":"{{ ID }}", + "processing": + [ + { + "additive": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Request.liquid b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Request.liquid new file mode 100644 index 000000000..61db6c9fc --- /dev/null +++ b/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Request.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "BiologicallyDerivedProduct", + "id":"{{ ID }}", + "request": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/BodyStructure/_Patient.liquid b/data/Templates/Cda/Reference/BodyStructure/_Patient.liquid new file mode 100644 index 000000000..4391028f9 --- /dev/null +++ b/data/Templates/Cda/Reference/BodyStructure/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "BodyStructure", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CapabilityStatement/_Implementation_Custodian.liquid b/data/Templates/Cda/Reference/CapabilityStatement/_Implementation_Custodian.liquid new file mode 100644 index 000000000..06b1bea46 --- /dev/null +++ b/data/Templates/Cda/Reference/CapabilityStatement/_Implementation_Custodian.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "CapabilityStatement", + "id":"{{ ID }}", + "implementation": + { + "custodian": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Activity_OutcomeReference.liquid b/data/Templates/Cda/Reference/CarePlan/_Activity_OutcomeReference.liquid new file mode 100644 index 000000000..c23a46261 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Activity_OutcomeReference.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "activity": + [ + { + "outcomeReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Activity_Reference.liquid b/data/Templates/Cda/Reference/CarePlan/_Activity_Reference.liquid new file mode 100644 index 000000000..be8223305 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Activity_Reference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "activity": + [ + { + "reference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Addresses.liquid b/data/Templates/Cda/Reference/CarePlan/_Addresses.liquid new file mode 100644 index 000000000..656a616d8 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Addresses.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "addresses": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Author.liquid b/data/Templates/Cda/Reference/CarePlan/_Author.liquid new file mode 100644 index 000000000..cda299c73 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_BasedOn.liquid b/data/Templates/Cda/Reference/CarePlan/_BasedOn.liquid new file mode 100644 index 000000000..65c52092e --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_CareTeam.liquid b/data/Templates/Cda/Reference/CarePlan/_CareTeam.liquid new file mode 100644 index 000000000..22d65d068 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_CareTeam.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "careTeam": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Contributor.liquid b/data/Templates/Cda/Reference/CarePlan/_Contributor.liquid new file mode 100644 index 000000000..c73e10605 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Contributor.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "contributor": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Encounter.liquid b/data/Templates/Cda/Reference/CarePlan/_Encounter.liquid new file mode 100644 index 000000000..4c4dcb5ae --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Goal.liquid b/data/Templates/Cda/Reference/CarePlan/_Goal.liquid new file mode 100644 index 000000000..7fd66e0b8 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Goal.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "goal": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_PartOf.liquid b/data/Templates/Cda/Reference/CarePlan/_PartOf.liquid new file mode 100644 index 000000000..a85382eb8 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Replaces.liquid b/data/Templates/Cda/Reference/CarePlan/_Replaces.liquid new file mode 100644 index 000000000..1941e0647 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Replaces.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "replaces": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_Subject.liquid b/data/Templates/Cda/Reference/CarePlan/_Subject.liquid new file mode 100644 index 000000000..20304088f --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CarePlan/_SupportingInfo.liquid b/data/Templates/Cda/Reference/CarePlan/_SupportingInfo.liquid new file mode 100644 index 000000000..7993a4fc4 --- /dev/null +++ b/data/Templates/Cda/Reference/CarePlan/_SupportingInfo.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CarePlan", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CareTeam/_Encounter.liquid b/data/Templates/Cda/Reference/CareTeam/_Encounter.liquid new file mode 100644 index 000000000..d70f8ac1d --- /dev/null +++ b/data/Templates/Cda/Reference/CareTeam/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CareTeam", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CareTeam/_ManagingOrganization.liquid b/data/Templates/Cda/Reference/CareTeam/_ManagingOrganization.liquid new file mode 100644 index 000000000..5125125e1 --- /dev/null +++ b/data/Templates/Cda/Reference/CareTeam/_ManagingOrganization.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CareTeam", + "id":"{{ ID }}", + "managingOrganization": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CareTeam/_Participant_Member.liquid b/data/Templates/Cda/Reference/CareTeam/_Participant_Member.liquid new file mode 100644 index 000000000..4a57abdd3 --- /dev/null +++ b/data/Templates/Cda/Reference/CareTeam/_Participant_Member.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CareTeam", + "id":"{{ ID }}", + "participant": + [ + { + "member": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CareTeam/_Participant_OnBehalfOf.liquid b/data/Templates/Cda/Reference/CareTeam/_Participant_OnBehalfOf.liquid new file mode 100644 index 000000000..678f5dd80 --- /dev/null +++ b/data/Templates/Cda/Reference/CareTeam/_Participant_OnBehalfOf.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CareTeam", + "id":"{{ ID }}", + "participant": + [ + { + "onBehalfOf": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CareTeam/_ReasonReference.liquid b/data/Templates/Cda/Reference/CareTeam/_ReasonReference.liquid new file mode 100644 index 000000000..06d34a9df --- /dev/null +++ b/data/Templates/Cda/Reference/CareTeam/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CareTeam", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CareTeam/_Subject.liquid b/data/Templates/Cda/Reference/CareTeam/_Subject.liquid new file mode 100644 index 000000000..625a86c6c --- /dev/null +++ b/data/Templates/Cda/Reference/CareTeam/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CareTeam", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CatalogEntry/_ReferencedItem.liquid b/data/Templates/Cda/Reference/CatalogEntry/_ReferencedItem.liquid new file mode 100644 index 000000000..4f9a8dacd --- /dev/null +++ b/data/Templates/Cda/Reference/CatalogEntry/_ReferencedItem.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CatalogEntry", + "id":"{{ ID }}", + "referencedItem": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CatalogEntry/_RelatedEntry_Item.liquid b/data/Templates/Cda/Reference/CatalogEntry/_RelatedEntry_Item.liquid new file mode 100644 index 000000000..02f71988d --- /dev/null +++ b/data/Templates/Cda/Reference/CatalogEntry/_RelatedEntry_Item.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CatalogEntry", + "id":"{{ ID }}", + "relatedEntry": + [ + { + "item": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_Account.liquid b/data/Templates/Cda/Reference/ChargeItem/_Account.liquid new file mode 100644 index 000000000..2ce9df5f0 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_Account.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "account": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_Context.liquid b/data/Templates/Cda/Reference/ChargeItem/_Context.liquid new file mode 100644 index 000000000..4dcb80fc0 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_Context.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "context": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_CostCenter.liquid b/data/Templates/Cda/Reference/ChargeItem/_CostCenter.liquid new file mode 100644 index 000000000..0a4d6ea8b --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_CostCenter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "costCenter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_Enterer.liquid b/data/Templates/Cda/Reference/ChargeItem/_Enterer.liquid new file mode 100644 index 000000000..385633dac --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_Enterer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "enterer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_PartOf.liquid b/data/Templates/Cda/Reference/ChargeItem/_PartOf.liquid new file mode 100644 index 000000000..dc8793e16 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_Performer_Actor.liquid b/data/Templates/Cda/Reference/ChargeItem/_Performer_Actor.liquid new file mode 100644 index 000000000..0d9befddb --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_Performer_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "performer": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_PerformingOrganization.liquid b/data/Templates/Cda/Reference/ChargeItem/_PerformingOrganization.liquid new file mode 100644 index 000000000..c1f373850 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_PerformingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "performingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_ProductReference.liquid b/data/Templates/Cda/Reference/ChargeItem/_ProductReference.liquid new file mode 100644 index 000000000..f061d7398 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_ProductReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "productReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_RequestingOrganization.liquid b/data/Templates/Cda/Reference/ChargeItem/_RequestingOrganization.liquid new file mode 100644 index 000000000..2b66e13c4 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_RequestingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "requestingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_Service.liquid b/data/Templates/Cda/Reference/ChargeItem/_Service.liquid new file mode 100644 index 000000000..a363f9b50 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_Service.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "service": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_Subject.liquid b/data/Templates/Cda/Reference/ChargeItem/_Subject.liquid new file mode 100644 index 000000000..297a09e9d --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItem/_SupportingInformation.liquid b/data/Templates/Cda/Reference/ChargeItem/_SupportingInformation.liquid new file mode 100644 index 000000000..43fb943f6 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItem/_SupportingInformation.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ChargeItem", + "id":"{{ ID }}", + "supportingInformation": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ChargeItemDefinition/_Instance.liquid b/data/Templates/Cda/Reference/ChargeItemDefinition/_Instance.liquid new file mode 100644 index 000000000..662d6e346 --- /dev/null +++ b/data/Templates/Cda/Reference/ChargeItemDefinition/_Instance.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ChargeItemDefinition", + "id":"{{ ID }}", + "instance": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Accident_LocationReference.liquid b/data/Templates/Cda/Reference/Claim/_Accident_LocationReference.liquid new file mode 100644 index 000000000..f1713cd10 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Accident_LocationReference.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "accident": + { + "locationReference": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_CareTeam_Provider.liquid b/data/Templates/Cda/Reference/Claim/_CareTeam_Provider.liquid new file mode 100644 index 000000000..085f7f637 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_CareTeam_Provider.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "careTeam": + [ + { + "provider": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid b/data/Templates/Cda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid new file mode 100644 index 000000000..4299cdb16 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "diagnosis": + [ + { + "diagnosisReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Enterer.liquid b/data/Templates/Cda/Reference/Claim/_Enterer.liquid new file mode 100644 index 000000000..359d14a47 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Enterer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "enterer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Facility.liquid b/data/Templates/Cda/Reference/Claim/_Facility.liquid new file mode 100644 index 000000000..333dfc51b --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Facility.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "facility": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Insurance_ClaimResponse.liquid b/data/Templates/Cda/Reference/Claim/_Insurance_ClaimResponse.liquid new file mode 100644 index 000000000..e044cfbfc --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Insurance_ClaimResponse.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "insurance": + [ + { + "claimResponse": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Insurance_Coverage.liquid b/data/Templates/Cda/Reference/Claim/_Insurance_Coverage.liquid new file mode 100644 index 000000000..52d6c2b74 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Insurance_Coverage.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "insurance": + [ + { + "coverage": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Insurer.liquid b/data/Templates/Cda/Reference/Claim/_Insurer.liquid new file mode 100644 index 000000000..75980d851 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Insurer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "insurer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Item_Encounter.liquid b/data/Templates/Cda/Reference/Claim/_Item_Encounter.liquid new file mode 100644 index 000000000..c96bc103c --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Item_Encounter.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "item": + [ + { + "encounter": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Item_LocationReference.liquid b/data/Templates/Cda/Reference/Claim/_Item_LocationReference.liquid new file mode 100644 index 000000000..65238a9dd --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Item_LocationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "item": + [ + { + "locationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Item_Udi.liquid b/data/Templates/Cda/Reference/Claim/_Item_Udi.liquid new file mode 100644 index 000000000..5a91c39db --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Item_Udi.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "item": + [ + { + "udi": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_OriginalPrescription.liquid b/data/Templates/Cda/Reference/Claim/_OriginalPrescription.liquid new file mode 100644 index 000000000..276af2dc2 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_OriginalPrescription.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "originalPrescription": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Patient.liquid b/data/Templates/Cda/Reference/Claim/_Patient.liquid new file mode 100644 index 000000000..2144e35fb --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Payee_Party.liquid b/data/Templates/Cda/Reference/Claim/_Payee_Party.liquid new file mode 100644 index 000000000..efdbfb8eb --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Payee_Party.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "payee": + { + "party": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Prescription.liquid b/data/Templates/Cda/Reference/Claim/_Prescription.liquid new file mode 100644 index 000000000..e9dab460c --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Prescription.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "prescription": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Procedure_ProcedureReference.liquid b/data/Templates/Cda/Reference/Claim/_Procedure_ProcedureReference.liquid new file mode 100644 index 000000000..953712fcc --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Procedure_ProcedureReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "procedure": + [ + { + "procedureReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Procedure_Udi.liquid b/data/Templates/Cda/Reference/Claim/_Procedure_Udi.liquid new file mode 100644 index 000000000..f6e5dd7f6 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Procedure_Udi.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "procedure": + [ + { + "udi": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Provider.liquid b/data/Templates/Cda/Reference/Claim/_Provider.liquid new file mode 100644 index 000000000..50249e502 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Provider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "provider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Referral.liquid b/data/Templates/Cda/Reference/Claim/_Referral.liquid new file mode 100644 index 000000000..528726f59 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Referral.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "referral": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_Related_Claim.liquid b/data/Templates/Cda/Reference/Claim/_Related_Claim.liquid new file mode 100644 index 000000000..c5ffb2be9 --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_Related_Claim.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "related": + [ + { + "claim": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Claim/_SupportingInfo_ValueReference.liquid b/data/Templates/Cda/Reference/Claim/_SupportingInfo_ValueReference.liquid new file mode 100644 index 000000000..57dcce7ea --- /dev/null +++ b/data/Templates/Cda/Reference/Claim/_SupportingInfo_ValueReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Claim", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "valueReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_AddItem_LocationReference.liquid b/data/Templates/Cda/Reference/ClaimResponse/_AddItem_LocationReference.liquid new file mode 100644 index 000000000..86159e09c --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_AddItem_LocationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "addItem": + [ + { + "locationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_AddItem_Provider.liquid b/data/Templates/Cda/Reference/ClaimResponse/_AddItem_Provider.liquid new file mode 100644 index 000000000..62880ad4a --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_AddItem_Provider.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "addItem": + [ + { + "provider": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_CommunicationRequest.liquid b/data/Templates/Cda/Reference/ClaimResponse/_CommunicationRequest.liquid new file mode 100644 index 000000000..163cb5b07 --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_CommunicationRequest.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "communicationRequest": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid b/data/Templates/Cda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid new file mode 100644 index 000000000..be5648f92 --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "insurance": + [ + { + "claimResponse": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Insurance_Coverage.liquid b/data/Templates/Cda/Reference/ClaimResponse/_Insurance_Coverage.liquid new file mode 100644 index 000000000..3e24808ba --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_Insurance_Coverage.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "insurance": + [ + { + "coverage": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Insurer.liquid b/data/Templates/Cda/Reference/ClaimResponse/_Insurer.liquid new file mode 100644 index 000000000..cfbf4d0f7 --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_Insurer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "insurer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Patient.liquid b/data/Templates/Cda/Reference/ClaimResponse/_Patient.liquid new file mode 100644 index 000000000..09c89ea47 --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Request.liquid b/data/Templates/Cda/Reference/ClaimResponse/_Request.liquid new file mode 100644 index 000000000..84b0d2ce4 --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_Request.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "request": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Requestor.liquid b/data/Templates/Cda/Reference/ClaimResponse/_Requestor.liquid new file mode 100644 index 000000000..92ab4e8be --- /dev/null +++ b/data/Templates/Cda/Reference/ClaimResponse/_Requestor.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClaimResponse", + "id":"{{ ID }}", + "requestor": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Assessor.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Assessor.liquid new file mode 100644 index 000000000..ada6b81ae --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Assessor.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "assessor": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Encounter.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Encounter.liquid new file mode 100644 index 000000000..dfa7d55f9 --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Finding_ItemReference.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Finding_ItemReference.liquid new file mode 100644 index 000000000..46f6301a9 --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Finding_ItemReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "finding": + [ + { + "itemReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Investigation_Item.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Investigation_Item.liquid new file mode 100644 index 000000000..ca95c538d --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Investigation_Item.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "investigation": + [ + { + "item": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Previous.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Previous.liquid new file mode 100644 index 000000000..472e8bb4d --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Previous.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "previous": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Problem.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Problem.liquid new file mode 100644 index 000000000..58cbc9715 --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Problem.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "problem": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_PrognosisReference.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_PrognosisReference.liquid new file mode 100644 index 000000000..af8ec6563 --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_PrognosisReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "prognosisReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Subject.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_Subject.liquid new file mode 100644 index 000000000..62088a005 --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_SupportingInfo.liquid b/data/Templates/Cda/Reference/ClinicalImpression/_SupportingInfo.liquid new file mode 100644 index 000000000..798dffadb --- /dev/null +++ b/data/Templates/Cda/Reference/ClinicalImpression/_SupportingInfo.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ClinicalImpression", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_About.liquid b/data/Templates/Cda/Reference/Communication/_About.liquid new file mode 100644 index 000000000..4b767a989 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_About.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "about": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_BasedOn.liquid b/data/Templates/Cda/Reference/Communication/_BasedOn.liquid new file mode 100644 index 000000000..3b70a9e89 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_Encounter.liquid b/data/Templates/Cda/Reference/Communication/_Encounter.liquid new file mode 100644 index 000000000..b7c723813 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_InResponseTo.liquid b/data/Templates/Cda/Reference/Communication/_InResponseTo.liquid new file mode 100644 index 000000000..4ea74621b --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_InResponseTo.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "inResponseTo": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_PartOf.liquid b/data/Templates/Cda/Reference/Communication/_PartOf.liquid new file mode 100644 index 000000000..98548c6e4 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_Payload_ContentReference.liquid b/data/Templates/Cda/Reference/Communication/_Payload_ContentReference.liquid new file mode 100644 index 000000000..e25d38e0e --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_Payload_ContentReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "payload": + [ + { + "contentReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_ReasonReference.liquid b/data/Templates/Cda/Reference/Communication/_ReasonReference.liquid new file mode 100644 index 000000000..7d57d92a2 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_Recipient.liquid b/data/Templates/Cda/Reference/Communication/_Recipient.liquid new file mode 100644 index 000000000..0cea989b7 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_Recipient.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "recipient": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_Sender.liquid b/data/Templates/Cda/Reference/Communication/_Sender.liquid new file mode 100644 index 000000000..20ce4a992 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_Sender.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "sender": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Communication/_Subject.liquid b/data/Templates/Cda/Reference/Communication/_Subject.liquid new file mode 100644 index 000000000..15c96f286 --- /dev/null +++ b/data/Templates/Cda/Reference/Communication/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_About.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_About.liquid new file mode 100644 index 000000000..36131ee84 --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_About.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "about": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_BasedOn.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_BasedOn.liquid new file mode 100644 index 000000000..c8c9028df --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Encounter.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Encounter.liquid new file mode 100644 index 000000000..4f7485aac --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Payload_ContentReference.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Payload_ContentReference.liquid new file mode 100644 index 000000000..f30a802ca --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Payload_ContentReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "payload": + [ + { + "contentReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_ReasonReference.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_ReasonReference.liquid new file mode 100644 index 000000000..cd2f72c3a --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Recipient.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Recipient.liquid new file mode 100644 index 000000000..101ee55bf --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Recipient.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "recipient": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Replaces.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Replaces.liquid new file mode 100644 index 000000000..cf6bdbeaa --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Replaces.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "replaces": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Requester.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Requester.liquid new file mode 100644 index 000000000..2635bb909 --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Requester.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "requester": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Sender.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Sender.liquid new file mode 100644 index 000000000..87c184699 --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Sender.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "sender": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Subject.liquid b/data/Templates/Cda/Reference/CommunicationRequest/_Subject.liquid new file mode 100644 index 000000000..158a226c4 --- /dev/null +++ b/data/Templates/Cda/Reference/CommunicationRequest/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CommunicationRequest", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Attester_Party.liquid b/data/Templates/Cda/Reference/Composition/_Attester_Party.liquid new file mode 100644 index 000000000..9c1064b38 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Attester_Party.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "attester": + [ + { + "party": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Author.liquid b/data/Templates/Cda/Reference/Composition/_Author.liquid new file mode 100644 index 000000000..093228102 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Author.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "author": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Custodian.liquid b/data/Templates/Cda/Reference/Composition/_Custodian.liquid new file mode 100644 index 000000000..89b04b2a4 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Custodian.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "custodian": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Encounter.liquid b/data/Templates/Cda/Reference/Composition/_Encounter.liquid new file mode 100644 index 000000000..b2554537b --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Event_Detail.liquid b/data/Templates/Cda/Reference/Composition/_Event_Detail.liquid new file mode 100644 index 000000000..f19cc3f57 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Event_Detail.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "event": + [ + { + "detail": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_RelatesTo_TargetReference.liquid b/data/Templates/Cda/Reference/Composition/_RelatesTo_TargetReference.liquid new file mode 100644 index 000000000..143db386a --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_RelatesTo_TargetReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "relatesTo": + [ + { + "targetReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Section_Author.liquid b/data/Templates/Cda/Reference/Composition/_Section_Author.liquid new file mode 100644 index 000000000..f08747bf6 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Section_Author.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "section": + [ + { + "author": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Section_Entry.liquid b/data/Templates/Cda/Reference/Composition/_Section_Entry.liquid new file mode 100644 index 000000000..e47785ff8 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Section_Entry.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "section": + [ + { + "entry": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Section_Focus.liquid b/data/Templates/Cda/Reference/Composition/_Section_Focus.liquid new file mode 100644 index 000000000..137fbffb0 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Section_Focus.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "section": + [ + { + "focus": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Composition/_Subject.liquid b/data/Templates/Cda/Reference/Composition/_Subject.liquid new file mode 100644 index 000000000..4b40606a3 --- /dev/null +++ b/data/Templates/Cda/Reference/Composition/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Condition/_Asserter.liquid b/data/Templates/Cda/Reference/Condition/_Asserter.liquid new file mode 100644 index 000000000..f7a9c9138 --- /dev/null +++ b/data/Templates/Cda/Reference/Condition/_Asserter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "asserter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Condition/_Encounter.liquid b/data/Templates/Cda/Reference/Condition/_Encounter.liquid new file mode 100644 index 000000000..6e8a3c967 --- /dev/null +++ b/data/Templates/Cda/Reference/Condition/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Condition/_Evidence_Detail.liquid b/data/Templates/Cda/Reference/Condition/_Evidence_Detail.liquid new file mode 100644 index 000000000..31e02a6b8 --- /dev/null +++ b/data/Templates/Cda/Reference/Condition/_Evidence_Detail.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "evidence": + [ + { + "detail": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Condition/_Recorder.liquid b/data/Templates/Cda/Reference/Condition/_Recorder.liquid new file mode 100644 index 000000000..d4f093869 --- /dev/null +++ b/data/Templates/Cda/Reference/Condition/_Recorder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "recorder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Condition/_Stage_Assessment.liquid b/data/Templates/Cda/Reference/Condition/_Stage_Assessment.liquid new file mode 100644 index 000000000..0810481e5 --- /dev/null +++ b/data/Templates/Cda/Reference/Condition/_Stage_Assessment.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "stage": + [ + { + "assessment": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Condition/_Subject.liquid b/data/Templates/Cda/Reference/Condition/_Subject.liquid new file mode 100644 index 000000000..dfbeae8a9 --- /dev/null +++ b/data/Templates/Cda/Reference/Condition/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Consent/_Organization.liquid b/data/Templates/Cda/Reference/Consent/_Organization.liquid new file mode 100644 index 000000000..b238f1e9a --- /dev/null +++ b/data/Templates/Cda/Reference/Consent/_Organization.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Consent", + "id":"{{ ID }}", + "organization": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Consent/_Patient.liquid b/data/Templates/Cda/Reference/Consent/_Patient.liquid new file mode 100644 index 000000000..a28912abf --- /dev/null +++ b/data/Templates/Cda/Reference/Consent/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Consent", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Consent/_Performer.liquid b/data/Templates/Cda/Reference/Consent/_Performer.liquid new file mode 100644 index 000000000..4713a7039 --- /dev/null +++ b/data/Templates/Cda/Reference/Consent/_Performer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Consent", + "id":"{{ ID }}", + "performer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Consent/_SourceReference.liquid b/data/Templates/Cda/Reference/Consent/_SourceReference.liquid new file mode 100644 index 000000000..dfabf255e --- /dev/null +++ b/data/Templates/Cda/Reference/Consent/_SourceReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Consent", + "id":"{{ ID }}", + "sourceReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Consent/_Verification_VerifiedWith.liquid b/data/Templates/Cda/Reference/Consent/_Verification_VerifiedWith.liquid new file mode 100644 index 000000000..d9a0f9b43 --- /dev/null +++ b/data/Templates/Cda/Reference/Consent/_Verification_VerifiedWith.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Consent", + "id":"{{ ID }}", + "verification": + [ + { + "verifiedWith": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Author.liquid b/data/Templates/Cda/Reference/Contract/_Author.liquid new file mode 100644 index 000000000..95d366be8 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Authority.liquid b/data/Templates/Cda/Reference/Contract/_Authority.liquid new file mode 100644 index 000000000..cbb50b0ab --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Authority.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "authority": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_ContentDefinition_Publisher.liquid b/data/Templates/Cda/Reference/Contract/_ContentDefinition_Publisher.liquid new file mode 100644 index 000000000..fae8b97f8 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_ContentDefinition_Publisher.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "contentDefinition": + { + "publisher": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Domain.liquid b/data/Templates/Cda/Reference/Contract/_Domain.liquid new file mode 100644 index 000000000..f76bda7bf --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Domain.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "domain": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Friendly_ContentReference.liquid b/data/Templates/Cda/Reference/Contract/_Friendly_ContentReference.liquid new file mode 100644 index 000000000..e52f2fde6 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Friendly_ContentReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "friendly": + [ + { + "contentReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_InstantiatesCanonical.liquid b/data/Templates/Cda/Reference/Contract/_InstantiatesCanonical.liquid new file mode 100644 index 000000000..a51c05a14 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_InstantiatesCanonical.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "instantiatesCanonical": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Legal_ContentReference.liquid b/data/Templates/Cda/Reference/Contract/_Legal_ContentReference.liquid new file mode 100644 index 000000000..2f5c50760 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Legal_ContentReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "legal": + [ + { + "contentReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_LegallyBindingReference.liquid b/data/Templates/Cda/Reference/Contract/_LegallyBindingReference.liquid new file mode 100644 index 000000000..9defc014a --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_LegallyBindingReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "legallyBindingReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_RelevantHistory.liquid b/data/Templates/Cda/Reference/Contract/_RelevantHistory.liquid new file mode 100644 index 000000000..0e75df451 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_RelevantHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "relevantHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Rule_ContentReference.liquid b/data/Templates/Cda/Reference/Contract/_Rule_ContentReference.liquid new file mode 100644 index 000000000..85e73ea8d --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Rule_ContentReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "rule": + [ + { + "contentReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Signer_Party.liquid b/data/Templates/Cda/Reference/Contract/_Signer_Party.liquid new file mode 100644 index 000000000..a71ab82ed --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Signer_Party.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "signer": + [ + { + "party": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Site.liquid b/data/Templates/Cda/Reference/Contract/_Site.liquid new file mode 100644 index 000000000..51e2c7a5b --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Site.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "site": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Subject.liquid b/data/Templates/Cda/Reference/Contract/_Subject.liquid new file mode 100644 index 000000000..47d08a46c --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_SupportingInfo.liquid b/data/Templates/Cda/Reference/Contract/_SupportingInfo.liquid new file mode 100644 index 000000000..b5138a201 --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_SupportingInfo.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_Term_TopicReference.liquid b/data/Templates/Cda/Reference/Contract/_Term_TopicReference.liquid new file mode 100644 index 000000000..aa54fa5bb --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_Term_TopicReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "term": + [ + { + "topicReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Contract/_TopicReference.liquid b/data/Templates/Cda/Reference/Contract/_TopicReference.liquid new file mode 100644 index 000000000..d934ec8cc --- /dev/null +++ b/data/Templates/Cda/Reference/Contract/_TopicReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Contract", + "id":"{{ ID }}", + "topicReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Coverage/_Beneficiary.liquid b/data/Templates/Cda/Reference/Coverage/_Beneficiary.liquid new file mode 100644 index 000000000..e6571ddd7 --- /dev/null +++ b/data/Templates/Cda/Reference/Coverage/_Beneficiary.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Coverage", + "id":"{{ ID }}", + "beneficiary": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Coverage/_Contract.liquid b/data/Templates/Cda/Reference/Coverage/_Contract.liquid new file mode 100644 index 000000000..53143bd98 --- /dev/null +++ b/data/Templates/Cda/Reference/Coverage/_Contract.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Coverage", + "id":"{{ ID }}", + "contract": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Coverage/_Payor.liquid b/data/Templates/Cda/Reference/Coverage/_Payor.liquid new file mode 100644 index 000000000..6069aad58 --- /dev/null +++ b/data/Templates/Cda/Reference/Coverage/_Payor.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Coverage", + "id":"{{ ID }}", + "payor": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Coverage/_PolicyHolder.liquid b/data/Templates/Cda/Reference/Coverage/_PolicyHolder.liquid new file mode 100644 index 000000000..d35aca1a6 --- /dev/null +++ b/data/Templates/Cda/Reference/Coverage/_PolicyHolder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Coverage", + "id":"{{ ID }}", + "policyHolder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Coverage/_Subscriber.liquid b/data/Templates/Cda/Reference/Coverage/_Subscriber.liquid new file mode 100644 index 000000000..da6ea6fda --- /dev/null +++ b/data/Templates/Cda/Reference/Coverage/_Subscriber.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Coverage", + "id":"{{ ID }}", + "subscriber": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Enterer.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Enterer.liquid new file mode 100644 index 000000000..a4b751dbd --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Enterer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "enterer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Facility.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Facility.liquid new file mode 100644 index 000000000..7861c5a36 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Facility.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "facility": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid new file mode 100644 index 000000000..aa174439b --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "insurance": + [ + { + "coverage": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurer.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurer.liquid new file mode 100644 index 000000000..e2d54a931 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "insurer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid new file mode 100644 index 000000000..f794fb3b7 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "item": + [ + { + "detail": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid new file mode 100644 index 000000000..689cd1648 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "item": + [ + { + "facility": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid new file mode 100644 index 000000000..d98008af9 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "item": + [ + { + "provider": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Patient.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Patient.liquid new file mode 100644 index 000000000..cf4c807de --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Provider.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Provider.liquid new file mode 100644 index 000000000..0c8fa4516 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Provider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "provider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid new file mode 100644 index 000000000..5636684a5 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityRequest", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "information": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid new file mode 100644 index 000000000..56874abf2 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityResponse", + "id":"{{ ID }}", + "insurance": + [ + { + "coverage": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurer.liquid b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurer.liquid new file mode 100644 index 000000000..73268dff2 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityResponse", + "id":"{{ ID }}", + "insurer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Patient.liquid b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Patient.liquid new file mode 100644 index 000000000..f5360fc3f --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityResponse", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Request.liquid b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Request.liquid new file mode 100644 index 000000000..0ea21b662 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Request.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityResponse", + "id":"{{ ID }}", + "request": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Requestor.liquid b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Requestor.liquid new file mode 100644 index 000000000..12492bb77 --- /dev/null +++ b/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Requestor.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "CoverageEligibilityResponse", + "id":"{{ ID }}", + "requestor": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Author.liquid b/data/Templates/Cda/Reference/DetectedIssue/_Author.liquid new file mode 100644 index 000000000..7d902c09a --- /dev/null +++ b/data/Templates/Cda/Reference/DetectedIssue/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DetectedIssue", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Evidence_Detail.liquid b/data/Templates/Cda/Reference/DetectedIssue/_Evidence_Detail.liquid new file mode 100644 index 000000000..7bf40c711 --- /dev/null +++ b/data/Templates/Cda/Reference/DetectedIssue/_Evidence_Detail.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "DetectedIssue", + "id":"{{ ID }}", + "evidence": + [ + { + "detail": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Implicated.liquid b/data/Templates/Cda/Reference/DetectedIssue/_Implicated.liquid new file mode 100644 index 000000000..9447f1419 --- /dev/null +++ b/data/Templates/Cda/Reference/DetectedIssue/_Implicated.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DetectedIssue", + "id":"{{ ID }}", + "implicated": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Mitigation_Author.liquid b/data/Templates/Cda/Reference/DetectedIssue/_Mitigation_Author.liquid new file mode 100644 index 000000000..554f25497 --- /dev/null +++ b/data/Templates/Cda/Reference/DetectedIssue/_Mitigation_Author.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "DetectedIssue", + "id":"{{ ID }}", + "mitigation": + [ + { + "author": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Patient.liquid b/data/Templates/Cda/Reference/DetectedIssue/_Patient.liquid new file mode 100644 index 000000000..806773380 --- /dev/null +++ b/data/Templates/Cda/Reference/DetectedIssue/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DetectedIssue", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Device/_Definition.liquid b/data/Templates/Cda/Reference/Device/_Definition.liquid new file mode 100644 index 000000000..4e3f1b792 --- /dev/null +++ b/data/Templates/Cda/Reference/Device/_Definition.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Device", + "id":"{{ ID }}", + "definition": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Device/_Location.liquid b/data/Templates/Cda/Reference/Device/_Location.liquid new file mode 100644 index 000000000..445700b63 --- /dev/null +++ b/data/Templates/Cda/Reference/Device/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Device", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Device/_Owner.liquid b/data/Templates/Cda/Reference/Device/_Owner.liquid new file mode 100644 index 000000000..23f15c79a --- /dev/null +++ b/data/Templates/Cda/Reference/Device/_Owner.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Device", + "id":"{{ ID }}", + "owner": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Device/_Parent.liquid b/data/Templates/Cda/Reference/Device/_Parent.liquid new file mode 100644 index 000000000..71ffaa5bd --- /dev/null +++ b/data/Templates/Cda/Reference/Device/_Parent.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Device", + "id":"{{ ID }}", + "parent": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Device/_Patient.liquid b/data/Templates/Cda/Reference/Device/_Patient.liquid new file mode 100644 index 000000000..9f61e9f8f --- /dev/null +++ b/data/Templates/Cda/Reference/Device/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Device", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceDefinition/_ManufacturerReference.liquid b/data/Templates/Cda/Reference/DeviceDefinition/_ManufacturerReference.liquid new file mode 100644 index 000000000..e96d84277 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceDefinition/_ManufacturerReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceDefinition", + "id":"{{ ID }}", + "manufacturerReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceDefinition/_Owner.liquid b/data/Templates/Cda/Reference/DeviceDefinition/_Owner.liquid new file mode 100644 index 000000000..f084229bd --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceDefinition/_Owner.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceDefinition", + "id":"{{ ID }}", + "owner": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceDefinition/_ParentDevice.liquid b/data/Templates/Cda/Reference/DeviceDefinition/_ParentDevice.liquid new file mode 100644 index 000000000..16e9e77ca --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceDefinition/_ParentDevice.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceDefinition", + "id":"{{ ID }}", + "parentDevice": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceMetric/_Parent.liquid b/data/Templates/Cda/Reference/DeviceMetric/_Parent.liquid new file mode 100644 index 000000000..2e36d32c6 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceMetric/_Parent.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceMetric", + "id":"{{ ID }}", + "parent": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceMetric/_Source.liquid b/data/Templates/Cda/Reference/DeviceMetric/_Source.liquid new file mode 100644 index 000000000..57bb0772e --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceMetric/_Source.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceMetric", + "id":"{{ ID }}", + "source": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_BasedOn.liquid b/data/Templates/Cda/Reference/DeviceRequest/_BasedOn.liquid new file mode 100644 index 000000000..d4dd1406c --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_CodeReference.liquid b/data/Templates/Cda/Reference/DeviceRequest/_CodeReference.liquid new file mode 100644 index 000000000..45a036244 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_CodeReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "codeReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Encounter.liquid b/data/Templates/Cda/Reference/DeviceRequest/_Encounter.liquid new file mode 100644 index 000000000..09b38ef4e --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Insurance.liquid b/data/Templates/Cda/Reference/DeviceRequest/_Insurance.liquid new file mode 100644 index 000000000..62189c112 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_Insurance.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "insurance": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Performer.liquid b/data/Templates/Cda/Reference/DeviceRequest/_Performer.liquid new file mode 100644 index 000000000..a087d1a66 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_Performer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "performer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_PriorRequest.liquid b/data/Templates/Cda/Reference/DeviceRequest/_PriorRequest.liquid new file mode 100644 index 000000000..698bb13fc --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_PriorRequest.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "priorRequest": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_ReasonReference.liquid b/data/Templates/Cda/Reference/DeviceRequest/_ReasonReference.liquid new file mode 100644 index 000000000..6ff5469c6 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_RelevantHistory.liquid b/data/Templates/Cda/Reference/DeviceRequest/_RelevantHistory.liquid new file mode 100644 index 000000000..b430bef74 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_RelevantHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "relevantHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Requester.liquid b/data/Templates/Cda/Reference/DeviceRequest/_Requester.liquid new file mode 100644 index 000000000..971245deb --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_Requester.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "requester": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Subject.liquid b/data/Templates/Cda/Reference/DeviceRequest/_Subject.liquid new file mode 100644 index 000000000..d189b56d5 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceRequest/_SupportingInfo.liquid b/data/Templates/Cda/Reference/DeviceRequest/_SupportingInfo.liquid new file mode 100644 index 000000000..eff9e4b69 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceRequest/_SupportingInfo.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceRequest", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_BasedOn.liquid b/data/Templates/Cda/Reference/DeviceUseStatement/_BasedOn.liquid new file mode 100644 index 000000000..7880cb113 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceUseStatement/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceUseStatement", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_DerivedFrom.liquid b/data/Templates/Cda/Reference/DeviceUseStatement/_DerivedFrom.liquid new file mode 100644 index 000000000..358fd3372 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceUseStatement/_DerivedFrom.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceUseStatement", + "id":"{{ ID }}", + "derivedFrom": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_Device.liquid b/data/Templates/Cda/Reference/DeviceUseStatement/_Device.liquid new file mode 100644 index 000000000..9eee03380 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceUseStatement/_Device.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceUseStatement", + "id":"{{ ID }}", + "device": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_ReasonReference.liquid b/data/Templates/Cda/Reference/DeviceUseStatement/_ReasonReference.liquid new file mode 100644 index 000000000..8dcf74106 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceUseStatement/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DeviceUseStatement", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_Source.liquid b/data/Templates/Cda/Reference/DeviceUseStatement/_Source.liquid new file mode 100644 index 000000000..1d74e57c6 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceUseStatement/_Source.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceUseStatement", + "id":"{{ ID }}", + "source": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_Subject.liquid b/data/Templates/Cda/Reference/DeviceUseStatement/_Subject.liquid new file mode 100644 index 000000000..5eb272b40 --- /dev/null +++ b/data/Templates/Cda/Reference/DeviceUseStatement/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DeviceUseStatement", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_BasedOn.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_BasedOn.liquid new file mode 100644 index 000000000..a40db92ba --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Encounter.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_Encounter.liquid new file mode 100644 index 000000000..985f8ba16 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_ImagingStudy.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_ImagingStudy.liquid new file mode 100644 index 000000000..265728755 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_ImagingStudy.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "imagingStudy": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Media_Link.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_Media_Link.liquid new file mode 100644 index 000000000..5907202a1 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_Media_Link.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "media": + [ + { + "link": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Performer.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_Performer.liquid new file mode 100644 index 000000000..d786098a7 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_Performer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "performer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Result.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_Result.liquid new file mode 100644 index 000000000..2a52c9b44 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_Result.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "result": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_ResultsInterpreter.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_ResultsInterpreter.liquid new file mode 100644 index 000000000..be579fd28 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_ResultsInterpreter.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "resultsInterpreter": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Specimen.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_Specimen.liquid new file mode 100644 index 000000000..692432d08 --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_Specimen.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "specimen": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Subject.liquid b/data/Templates/Cda/Reference/DiagnosticReport/_Subject.liquid new file mode 100644 index 000000000..3c8c85f5a --- /dev/null +++ b/data/Templates/Cda/Reference/DiagnosticReport/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Author.liquid b/data/Templates/Cda/Reference/DocumentManifest/_Author.liquid new file mode 100644 index 000000000..5540ec9da --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentManifest/_Author.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DocumentManifest", + "id":"{{ ID }}", + "author": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Content.liquid b/data/Templates/Cda/Reference/DocumentManifest/_Content.liquid new file mode 100644 index 000000000..b7e52b1f6 --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentManifest/_Content.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DocumentManifest", + "id":"{{ ID }}", + "content": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Recipient.liquid b/data/Templates/Cda/Reference/DocumentManifest/_Recipient.liquid new file mode 100644 index 000000000..9ce555474 --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentManifest/_Recipient.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DocumentManifest", + "id":"{{ ID }}", + "recipient": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Related_Ref.liquid b/data/Templates/Cda/Reference/DocumentManifest/_Related_Ref.liquid new file mode 100644 index 000000000..23abf2d22 --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentManifest/_Related_Ref.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "DocumentManifest", + "id":"{{ ID }}", + "related": + [ + { + "ref": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Subject.liquid b/data/Templates/Cda/Reference/DocumentManifest/_Subject.liquid new file mode 100644 index 000000000..82866a68d --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentManifest/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DocumentManifest", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Authenticator.liquid b/data/Templates/Cda/Reference/DocumentReference/_Authenticator.liquid new file mode 100644 index 000000000..585ab161d --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Authenticator.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "authenticator": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Author.liquid b/data/Templates/Cda/Reference/DocumentReference/_Author.liquid new file mode 100644 index 000000000..8ca271622 --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Author.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "author": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Context_Encounter.liquid b/data/Templates/Cda/Reference/DocumentReference/_Context_Encounter.liquid new file mode 100644 index 000000000..a2ccf35bf --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Context_Encounter.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "context": + { + "encounter": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Context_Related.liquid b/data/Templates/Cda/Reference/DocumentReference/_Context_Related.liquid new file mode 100644 index 000000000..3e9429b4a --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Context_Related.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "context": + { + "related": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid b/data/Templates/Cda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid new file mode 100644 index 000000000..099c1e638 --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "context": + { + "sourcePatientInfo": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Custodian.liquid b/data/Templates/Cda/Reference/DocumentReference/_Custodian.liquid new file mode 100644 index 000000000..488194d2c --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Custodian.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "custodian": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_RelatesTo_Target.liquid b/data/Templates/Cda/Reference/DocumentReference/_RelatesTo_Target.liquid new file mode 100644 index 000000000..1bf1ca82a --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_RelatesTo_Target.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "relatesTo": + [ + { + "target": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/DocumentReference/_Subject.liquid b/data/Templates/Cda/Reference/DocumentReference/_Subject.liquid new file mode 100644 index 000000000..0696dfbb3 --- /dev/null +++ b/data/Templates/Cda/Reference/DocumentReference/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Exposure.liquid b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Exposure.liquid new file mode 100644 index 000000000..ff7be7d96 --- /dev/null +++ b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Exposure.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EffectEvidenceSynthesis", + "id":"{{ ID }}", + "exposure": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid new file mode 100644 index 000000000..3fb6812c2 --- /dev/null +++ b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EffectEvidenceSynthesis", + "id":"{{ ID }}", + "exposureAlternative": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Outcome.liquid b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Outcome.liquid new file mode 100644 index 000000000..5d7ce0174 --- /dev/null +++ b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Outcome.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EffectEvidenceSynthesis", + "id":"{{ ID }}", + "outcome": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Population.liquid b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Population.liquid new file mode 100644 index 000000000..7c682f88c --- /dev/null +++ b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Population.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EffectEvidenceSynthesis", + "id":"{{ ID }}", + "population": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid new file mode 100644 index 000000000..b5f035c65 --- /dev/null +++ b/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "EffectEvidenceSynthesis", + "id":"{{ ID }}", + "resultsByExposure": + [ + { + "riskEvidenceSynthesis": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Account.liquid b/data/Templates/Cda/Reference/Encounter/_Account.liquid new file mode 100644 index 000000000..69acd014c --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Account.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "account": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Appointment.liquid b/data/Templates/Cda/Reference/Encounter/_Appointment.liquid new file mode 100644 index 000000000..52604b4f2 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Appointment.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "appointment": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_BasedOn.liquid b/data/Templates/Cda/Reference/Encounter/_BasedOn.liquid new file mode 100644 index 000000000..00b673e4a --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Diagnosis_Condition.liquid b/data/Templates/Cda/Reference/Encounter/_Diagnosis_Condition.liquid new file mode 100644 index 000000000..0aad75f5d --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Diagnosis_Condition.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "diagnosis": + [ + { + "condition": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_EpisodeOfCare.liquid b/data/Templates/Cda/Reference/Encounter/_EpisodeOfCare.liquid new file mode 100644 index 000000000..c132469ff --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_EpisodeOfCare.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "episodeOfCare": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Hospitalization_Destination.liquid b/data/Templates/Cda/Reference/Encounter/_Hospitalization_Destination.liquid new file mode 100644 index 000000000..e3ad067f4 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Hospitalization_Destination.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "hospitalization": + { + "destination": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Hospitalization_Origin.liquid b/data/Templates/Cda/Reference/Encounter/_Hospitalization_Origin.liquid new file mode 100644 index 000000000..fb8f1349d --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Hospitalization_Origin.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "hospitalization": + { + "origin": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Location_Location.liquid b/data/Templates/Cda/Reference/Encounter/_Location_Location.liquid new file mode 100644 index 000000000..cc982aafb --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Location_Location.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "location": + [ + { + "location": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_PartOf.liquid b/data/Templates/Cda/Reference/Encounter/_PartOf.liquid new file mode 100644 index 000000000..6480b1433 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_PartOf.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "partOf": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Participant_Individual.liquid b/data/Templates/Cda/Reference/Encounter/_Participant_Individual.liquid new file mode 100644 index 000000000..b1b857d58 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Participant_Individual.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "participant": + [ + { + "individual": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_ReasonReference.liquid b/data/Templates/Cda/Reference/Encounter/_ReasonReference.liquid new file mode 100644 index 000000000..4f61c42f3 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_ServiceProvider.liquid b/data/Templates/Cda/Reference/Encounter/_ServiceProvider.liquid new file mode 100644 index 000000000..e706a7a08 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_ServiceProvider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "serviceProvider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Encounter/_Subject.liquid b/data/Templates/Cda/Reference/Encounter/_Subject.liquid new file mode 100644 index 000000000..b0d64a691 --- /dev/null +++ b/data/Templates/Cda/Reference/Encounter/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Endpoint/_ManagingOrganization.liquid b/data/Templates/Cda/Reference/Endpoint/_ManagingOrganization.liquid new file mode 100644 index 000000000..a867948fa --- /dev/null +++ b/data/Templates/Cda/Reference/Endpoint/_ManagingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Endpoint", + "id":"{{ ID }}", + "managingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Candidate.liquid b/data/Templates/Cda/Reference/EnrollmentRequest/_Candidate.liquid new file mode 100644 index 000000000..d316ec822 --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentRequest/_Candidate.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentRequest", + "id":"{{ ID }}", + "candidate": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Coverage.liquid b/data/Templates/Cda/Reference/EnrollmentRequest/_Coverage.liquid new file mode 100644 index 000000000..c53e6d2c3 --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentRequest/_Coverage.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentRequest", + "id":"{{ ID }}", + "coverage": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Insurer.liquid b/data/Templates/Cda/Reference/EnrollmentRequest/_Insurer.liquid new file mode 100644 index 000000000..1bdc21057 --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentRequest/_Insurer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentRequest", + "id":"{{ ID }}", + "insurer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Provider.liquid b/data/Templates/Cda/Reference/EnrollmentRequest/_Provider.liquid new file mode 100644 index 000000000..597a0ec21 --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentRequest/_Provider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentRequest", + "id":"{{ ID }}", + "provider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentResponse/_Organization.liquid b/data/Templates/Cda/Reference/EnrollmentResponse/_Organization.liquid new file mode 100644 index 000000000..4e89bee03 --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentResponse/_Organization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentResponse", + "id":"{{ ID }}", + "organization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentResponse/_Request.liquid b/data/Templates/Cda/Reference/EnrollmentResponse/_Request.liquid new file mode 100644 index 000000000..95ce1413f --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentResponse/_Request.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentResponse", + "id":"{{ ID }}", + "request": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EnrollmentResponse/_RequestProvider.liquid b/data/Templates/Cda/Reference/EnrollmentResponse/_RequestProvider.liquid new file mode 100644 index 000000000..a53428c14 --- /dev/null +++ b/data/Templates/Cda/Reference/EnrollmentResponse/_RequestProvider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EnrollmentResponse", + "id":"{{ ID }}", + "requestProvider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Account.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_Account.liquid new file mode 100644 index 000000000..513c970c0 --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_Account.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "account": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_CareManager.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_CareManager.liquid new file mode 100644 index 000000000..7ccc08726 --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_CareManager.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "careManager": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid new file mode 100644 index 000000000..31dd5dc08 --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "diagnosis": + [ + { + "condition": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_ManagingOrganization.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_ManagingOrganization.liquid new file mode 100644 index 000000000..514be50cd --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_ManagingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "managingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Patient.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_Patient.liquid new file mode 100644 index 000000000..459520e0e --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_ReferralRequest.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_ReferralRequest.liquid new file mode 100644 index 000000000..1005687ae --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_ReferralRequest.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "referralRequest": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Team.liquid b/data/Templates/Cda/Reference/EpisodeOfCare/_Team.liquid new file mode 100644 index 000000000..e3ee57efd --- /dev/null +++ b/data/Templates/Cda/Reference/EpisodeOfCare/_Team.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "EpisodeOfCare", + "id":"{{ ID }}", + "team": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/EventDefinition/_SubjectReference.liquid b/data/Templates/Cda/Reference/EventDefinition/_SubjectReference.liquid new file mode 100644 index 000000000..d31d1c910 --- /dev/null +++ b/data/Templates/Cda/Reference/EventDefinition/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "EventDefinition", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Evidence/_ExposureBackground.liquid b/data/Templates/Cda/Reference/Evidence/_ExposureBackground.liquid new file mode 100644 index 000000000..d947234fc --- /dev/null +++ b/data/Templates/Cda/Reference/Evidence/_ExposureBackground.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Evidence", + "id":"{{ ID }}", + "exposureBackground": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Evidence/_ExposureVariant.liquid b/data/Templates/Cda/Reference/Evidence/_ExposureVariant.liquid new file mode 100644 index 000000000..9c275fd89 --- /dev/null +++ b/data/Templates/Cda/Reference/Evidence/_ExposureVariant.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Evidence", + "id":"{{ ID }}", + "exposureVariant": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Evidence/_Outcome.liquid b/data/Templates/Cda/Reference/Evidence/_Outcome.liquid new file mode 100644 index 000000000..8bdf3a51c --- /dev/null +++ b/data/Templates/Cda/Reference/Evidence/_Outcome.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Evidence", + "id":"{{ ID }}", + "outcome": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid b/data/Templates/Cda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid new file mode 100644 index 000000000..05c378c0d --- /dev/null +++ b/data/Templates/Cda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "EvidenceVariable", + "id":"{{ ID }}", + "characteristic": + [ + { + "definitionReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid new file mode 100644 index 000000000..6e6bee5af --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "accident": + { + "locationReference": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid new file mode 100644 index 000000000..ba5cf2e9e --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "addItem": + [ + { + "locationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid new file mode 100644 index 000000000..5adae1ea3 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "addItem": + [ + { + "provider": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid new file mode 100644 index 000000000..b2ba6b8c7 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "careTeam": + [ + { + "provider": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Claim.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Claim.liquid new file mode 100644 index 000000000..0ec6764df --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Claim.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "claim": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid new file mode 100644 index 000000000..de222ebfd --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "claimResponse": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid new file mode 100644 index 000000000..31e028833 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "diagnosis": + [ + { + "diagnosisReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Enterer.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Enterer.liquid new file mode 100644 index 000000000..35dab7f59 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Enterer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "enterer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Facility.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Facility.liquid new file mode 100644 index 000000000..6c1e138b1 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Facility.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "facility": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid new file mode 100644 index 000000000..1def9dfe5 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "insurance": + [ + { + "coverage": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurer.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurer.liquid new file mode 100644 index 000000000..73dd55d8a --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "insurer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid new file mode 100644 index 000000000..72cceb07d --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "item": + [ + { + "encounter": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid new file mode 100644 index 000000000..ad150646a --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "item": + [ + { + "locationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Udi.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Udi.liquid new file mode 100644 index 000000000..3e5e42535 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Udi.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "item": + [ + { + "udi": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid new file mode 100644 index 000000000..cde6b9001 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "originalPrescription": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Patient.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Patient.liquid new file mode 100644 index 000000000..0b195f936 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Payee_Party.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Payee_Party.liquid new file mode 100644 index 000000000..6f7d0d618 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Payee_Party.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "payee": + { + "party": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Prescription.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Prescription.liquid new file mode 100644 index 000000000..1ea94535a --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Prescription.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "prescription": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid new file mode 100644 index 000000000..926a9f0d2 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "procedure": + [ + { + "procedureReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid new file mode 100644 index 000000000..b87bef46e --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "procedure": + [ + { + "udi": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Provider.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Provider.liquid new file mode 100644 index 000000000..64575f7b2 --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Provider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "provider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Referral.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Referral.liquid new file mode 100644 index 000000000..d6c6a903a --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Referral.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "referral": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Related_Claim.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Related_Claim.liquid new file mode 100644 index 000000000..5cae4627a --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_Related_Claim.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "related": + [ + { + "claim": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid b/data/Templates/Cda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid new file mode 100644 index 000000000..22fed2efb --- /dev/null +++ b/data/Templates/Cda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "ExplanationOfBenefit", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "valueReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/FamilyMemberHistory/_Patient.liquid b/data/Templates/Cda/Reference/FamilyMemberHistory/_Patient.liquid new file mode 100644 index 000000000..b0944f8a8 --- /dev/null +++ b/data/Templates/Cda/Reference/FamilyMemberHistory/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "FamilyMemberHistory", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/FamilyMemberHistory/_ReasonReference.liquid b/data/Templates/Cda/Reference/FamilyMemberHistory/_ReasonReference.liquid new file mode 100644 index 000000000..ea29bfe5e --- /dev/null +++ b/data/Templates/Cda/Reference/FamilyMemberHistory/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "FamilyMemberHistory", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Flag/_Author.liquid b/data/Templates/Cda/Reference/Flag/_Author.liquid new file mode 100644 index 000000000..262209740 --- /dev/null +++ b/data/Templates/Cda/Reference/Flag/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Flag", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Flag/_Encounter.liquid b/data/Templates/Cda/Reference/Flag/_Encounter.liquid new file mode 100644 index 000000000..c6ffee552 --- /dev/null +++ b/data/Templates/Cda/Reference/Flag/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Flag", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Flag/_Subject.liquid b/data/Templates/Cda/Reference/Flag/_Subject.liquid new file mode 100644 index 000000000..9ad1e4cf8 --- /dev/null +++ b/data/Templates/Cda/Reference/Flag/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Flag", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Goal/_Addresses.liquid b/data/Templates/Cda/Reference/Goal/_Addresses.liquid new file mode 100644 index 000000000..5ec9463b3 --- /dev/null +++ b/data/Templates/Cda/Reference/Goal/_Addresses.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Goal", + "id":"{{ ID }}", + "addresses": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Goal/_ExpressedBy.liquid b/data/Templates/Cda/Reference/Goal/_ExpressedBy.liquid new file mode 100644 index 000000000..eaddc5f58 --- /dev/null +++ b/data/Templates/Cda/Reference/Goal/_ExpressedBy.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Goal", + "id":"{{ ID }}", + "expressedBy": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Goal/_OutcomeReference.liquid b/data/Templates/Cda/Reference/Goal/_OutcomeReference.liquid new file mode 100644 index 000000000..b6cf1305a --- /dev/null +++ b/data/Templates/Cda/Reference/Goal/_OutcomeReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Goal", + "id":"{{ ID }}", + "outcomeReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Goal/_Subject.liquid b/data/Templates/Cda/Reference/Goal/_Subject.liquid new file mode 100644 index 000000000..9ac867635 --- /dev/null +++ b/data/Templates/Cda/Reference/Goal/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Goal", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Group/_Characteristic_ValueReference.liquid b/data/Templates/Cda/Reference/Group/_Characteristic_ValueReference.liquid new file mode 100644 index 000000000..eb9e693b6 --- /dev/null +++ b/data/Templates/Cda/Reference/Group/_Characteristic_ValueReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Group", + "id":"{{ ID }}", + "characteristic": + [ + { + "valueReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Group/_ManagingEntity.liquid b/data/Templates/Cda/Reference/Group/_ManagingEntity.liquid new file mode 100644 index 000000000..854afa760 --- /dev/null +++ b/data/Templates/Cda/Reference/Group/_ManagingEntity.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Group", + "id":"{{ ID }}", + "managingEntity": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Group/_Member_Entity.liquid b/data/Templates/Cda/Reference/Group/_Member_Entity.liquid new file mode 100644 index 000000000..2006e0d14 --- /dev/null +++ b/data/Templates/Cda/Reference/Group/_Member_Entity.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Group", + "id":"{{ ID }}", + "member": + [ + { + "entity": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Encounter.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_Encounter.liquid new file mode 100644 index 000000000..cbfcd35a0 --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_EvaluationMessage.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_EvaluationMessage.liquid new file mode 100644 index 000000000..a937f2565 --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_EvaluationMessage.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "evaluationMessage": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_OutputParameters.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_OutputParameters.liquid new file mode 100644 index 000000000..51a860e3a --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_OutputParameters.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "outputParameters": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Performer.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_Performer.liquid new file mode 100644 index 000000000..45abbd99e --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_Performer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "performer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_ReasonReference.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_ReasonReference.liquid new file mode 100644 index 000000000..1ae7181d3 --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Result.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_Result.liquid new file mode 100644 index 000000000..54ff27884 --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_Result.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "result": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Subject.liquid b/data/Templates/Cda/Reference/GuidanceResponse/_Subject.liquid new file mode 100644 index 000000000..b2ca530f7 --- /dev/null +++ b/data/Templates/Cda/Reference/GuidanceResponse/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "GuidanceResponse", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/HealthcareService/_CoverageArea.liquid b/data/Templates/Cda/Reference/HealthcareService/_CoverageArea.liquid new file mode 100644 index 000000000..f27328414 --- /dev/null +++ b/data/Templates/Cda/Reference/HealthcareService/_CoverageArea.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "HealthcareService", + "id":"{{ ID }}", + "coverageArea": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/HealthcareService/_Endpoint.liquid b/data/Templates/Cda/Reference/HealthcareService/_Endpoint.liquid new file mode 100644 index 000000000..1832d9b41 --- /dev/null +++ b/data/Templates/Cda/Reference/HealthcareService/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "HealthcareService", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/HealthcareService/_Location.liquid b/data/Templates/Cda/Reference/HealthcareService/_Location.liquid new file mode 100644 index 000000000..68e7460e9 --- /dev/null +++ b/data/Templates/Cda/Reference/HealthcareService/_Location.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "HealthcareService", + "id":"{{ ID }}", + "location": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/HealthcareService/_ProvidedBy.liquid b/data/Templates/Cda/Reference/HealthcareService/_ProvidedBy.liquid new file mode 100644 index 000000000..9619ed2bc --- /dev/null +++ b/data/Templates/Cda/Reference/HealthcareService/_ProvidedBy.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "HealthcareService", + "id":"{{ ID }}", + "providedBy": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_BasedOn.liquid b/data/Templates/Cda/Reference/ImagingStudy/_BasedOn.liquid new file mode 100644 index 000000000..d23983b8c --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Encounter.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Encounter.liquid new file mode 100644 index 000000000..084e188cd --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Endpoint.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Endpoint.liquid new file mode 100644 index 000000000..5a626a739 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Interpreter.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Interpreter.liquid new file mode 100644 index 000000000..adcc1f806 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Interpreter.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "interpreter": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Location.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Location.liquid new file mode 100644 index 000000000..6172bd431 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_ProcedureReference.liquid b/data/Templates/Cda/Reference/ImagingStudy/_ProcedureReference.liquid new file mode 100644 index 000000000..6f4add603 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_ProcedureReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "procedureReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_ReasonReference.liquid b/data/Templates/Cda/Reference/ImagingStudy/_ReasonReference.liquid new file mode 100644 index 000000000..60ddd0cc0 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Referrer.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Referrer.liquid new file mode 100644 index 000000000..6d3673e30 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Referrer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "referrer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Series_Endpoint.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Series_Endpoint.liquid new file mode 100644 index 000000000..c56d86777 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Series_Endpoint.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "series": + [ + { + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Series_Specimen.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Series_Specimen.liquid new file mode 100644 index 000000000..26a507078 --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Series_Specimen.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "series": + [ + { + "specimen": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Subject.liquid b/data/Templates/Cda/Reference/ImagingStudy/_Subject.liquid new file mode 100644 index 000000000..2ce08ac3e --- /dev/null +++ b/data/Templates/Cda/Reference/ImagingStudy/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImagingStudy", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_Encounter.liquid b/data/Templates/Cda/Reference/Immunization/_Encounter.liquid new file mode 100644 index 000000000..17a6c6571 --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_Location.liquid b/data/Templates/Cda/Reference/Immunization/_Location.liquid new file mode 100644 index 000000000..3732540ad --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_Manufacturer.liquid b/data/Templates/Cda/Reference/Immunization/_Manufacturer.liquid new file mode 100644 index 000000000..b213932f0 --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_Manufacturer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "manufacturer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_Patient.liquid b/data/Templates/Cda/Reference/Immunization/_Patient.liquid new file mode 100644 index 000000000..c1c3ae7fd --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_Performer_Actor.liquid b/data/Templates/Cda/Reference/Immunization/_Performer_Actor.liquid new file mode 100644 index 000000000..249f73bb9 --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_Performer_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "performer": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_ProtocolApplied_Authority.liquid b/data/Templates/Cda/Reference/Immunization/_ProtocolApplied_Authority.liquid new file mode 100644 index 000000000..20ff24204 --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_ProtocolApplied_Authority.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "protocolApplied": + [ + { + "authority": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_Reaction_Detail.liquid b/data/Templates/Cda/Reference/Immunization/_Reaction_Detail.liquid new file mode 100644 index 000000000..1ecabf0f9 --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_Reaction_Detail.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "reaction": + [ + { + "detail": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Immunization/_ReasonReference.liquid b/data/Templates/Cda/Reference/Immunization/_ReasonReference.liquid new file mode 100644 index 000000000..7a6a160c4 --- /dev/null +++ b/data/Templates/Cda/Reference/Immunization/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Immunization", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationEvaluation/_Authority.liquid b/data/Templates/Cda/Reference/ImmunizationEvaluation/_Authority.liquid new file mode 100644 index 000000000..a3f31282f --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationEvaluation/_Authority.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImmunizationEvaluation", + "id":"{{ ID }}", + "authority": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid b/data/Templates/Cda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid new file mode 100644 index 000000000..94e47d816 --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImmunizationEvaluation", + "id":"{{ ID }}", + "immunizationEvent": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationEvaluation/_Patient.liquid b/data/Templates/Cda/Reference/ImmunizationEvaluation/_Patient.liquid new file mode 100644 index 000000000..1a3beb5d8 --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationEvaluation/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImmunizationEvaluation", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Authority.liquid b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Authority.liquid new file mode 100644 index 000000000..4faa1fdd9 --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Authority.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImmunizationRecommendation", + "id":"{{ ID }}", + "authority": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Patient.liquid b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Patient.liquid new file mode 100644 index 000000000..ea360012f --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ImmunizationRecommendation", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid new file mode 100644 index 000000000..0a39e1f43 --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ImmunizationRecommendation", + "id":"{{ ID }}", + "recommendation": + [ + { + "supportingImmunization": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid new file mode 100644 index 000000000..7182a2e45 --- /dev/null +++ b/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "ImmunizationRecommendation", + "id":"{{ ID }}", + "recommendation": + [ + { + "supportingPatientInformation": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_AdministeredBy.liquid b/data/Templates/Cda/Reference/InsurancePlan/_AdministeredBy.liquid new file mode 100644 index 000000000..9acb6babf --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_AdministeredBy.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "administeredBy": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_CoverageArea.liquid b/data/Templates/Cda/Reference/InsurancePlan/_CoverageArea.liquid new file mode 100644 index 000000000..cdc3d6686 --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_CoverageArea.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "coverageArea": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Coverage_Network.liquid b/data/Templates/Cda/Reference/InsurancePlan/_Coverage_Network.liquid new file mode 100644 index 000000000..0d195d368 --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_Coverage_Network.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "coverage": + [ + { + "network": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Endpoint.liquid b/data/Templates/Cda/Reference/InsurancePlan/_Endpoint.liquid new file mode 100644 index 000000000..87856fa0a --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Network.liquid b/data/Templates/Cda/Reference/InsurancePlan/_Network.liquid new file mode 100644 index 000000000..2623b3347 --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_Network.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "network": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_OwnedBy.liquid b/data/Templates/Cda/Reference/InsurancePlan/_OwnedBy.liquid new file mode 100644 index 000000000..2a2d1a3d1 --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_OwnedBy.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "ownedBy": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Plan_CoverageArea.liquid b/data/Templates/Cda/Reference/InsurancePlan/_Plan_CoverageArea.liquid new file mode 100644 index 000000000..80fd7aff9 --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_Plan_CoverageArea.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "plan": + [ + { + "coverageArea": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Plan_Network.liquid b/data/Templates/Cda/Reference/InsurancePlan/_Plan_Network.liquid new file mode 100644 index 000000000..b314e2707 --- /dev/null +++ b/data/Templates/Cda/Reference/InsurancePlan/_Plan_Network.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "InsurancePlan", + "id":"{{ ID }}", + "plan": + [ + { + "network": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Invoice/_Account.liquid b/data/Templates/Cda/Reference/Invoice/_Account.liquid new file mode 100644 index 000000000..a4268bcea --- /dev/null +++ b/data/Templates/Cda/Reference/Invoice/_Account.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Invoice", + "id":"{{ ID }}", + "account": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Invoice/_Issuer.liquid b/data/Templates/Cda/Reference/Invoice/_Issuer.liquid new file mode 100644 index 000000000..def35dfda --- /dev/null +++ b/data/Templates/Cda/Reference/Invoice/_Issuer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Invoice", + "id":"{{ ID }}", + "issuer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Invoice/_LineItem_ChargeItemReference.liquid b/data/Templates/Cda/Reference/Invoice/_LineItem_ChargeItemReference.liquid new file mode 100644 index 000000000..002b14a0a --- /dev/null +++ b/data/Templates/Cda/Reference/Invoice/_LineItem_ChargeItemReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Invoice", + "id":"{{ ID }}", + "lineItem": + [ + { + "chargeItemReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Invoice/_Participant_Actor.liquid b/data/Templates/Cda/Reference/Invoice/_Participant_Actor.liquid new file mode 100644 index 000000000..a3aff3c85 --- /dev/null +++ b/data/Templates/Cda/Reference/Invoice/_Participant_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Invoice", + "id":"{{ ID }}", + "participant": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Invoice/_Recipient.liquid b/data/Templates/Cda/Reference/Invoice/_Recipient.liquid new file mode 100644 index 000000000..3e49f46e1 --- /dev/null +++ b/data/Templates/Cda/Reference/Invoice/_Recipient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Invoice", + "id":"{{ ID }}", + "recipient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Invoice/_Subject.liquid b/data/Templates/Cda/Reference/Invoice/_Subject.liquid new file mode 100644 index 000000000..3a7de2815 --- /dev/null +++ b/data/Templates/Cda/Reference/Invoice/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Invoice", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Library/_SubjectReference.liquid b/data/Templates/Cda/Reference/Library/_SubjectReference.liquid new file mode 100644 index 000000000..79a4e1cb7 --- /dev/null +++ b/data/Templates/Cda/Reference/Library/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Library", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Linkage/_Author.liquid b/data/Templates/Cda/Reference/Linkage/_Author.liquid new file mode 100644 index 000000000..76763bf9d --- /dev/null +++ b/data/Templates/Cda/Reference/Linkage/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Linkage", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Linkage/_Item_Resource.liquid b/data/Templates/Cda/Reference/Linkage/_Item_Resource.liquid new file mode 100644 index 000000000..d9661f756 --- /dev/null +++ b/data/Templates/Cda/Reference/Linkage/_Item_Resource.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Linkage", + "id":"{{ ID }}", + "item": + [ + { + "resource": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/List/_Encounter.liquid b/data/Templates/Cda/Reference/List/_Encounter.liquid new file mode 100644 index 000000000..79066d5fe --- /dev/null +++ b/data/Templates/Cda/Reference/List/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "List", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/List/_Entry_Item.liquid b/data/Templates/Cda/Reference/List/_Entry_Item.liquid new file mode 100644 index 000000000..43861a9d5 --- /dev/null +++ b/data/Templates/Cda/Reference/List/_Entry_Item.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "List", + "id":"{{ ID }}", + "entry": + [ + { + "item": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/List/_Source.liquid b/data/Templates/Cda/Reference/List/_Source.liquid new file mode 100644 index 000000000..38fe2727c --- /dev/null +++ b/data/Templates/Cda/Reference/List/_Source.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "List", + "id":"{{ ID }}", + "source": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/List/_Subject.liquid b/data/Templates/Cda/Reference/List/_Subject.liquid new file mode 100644 index 000000000..bf94da6df --- /dev/null +++ b/data/Templates/Cda/Reference/List/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "List", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Location/_Endpoint.liquid b/data/Templates/Cda/Reference/Location/_Endpoint.liquid new file mode 100644 index 000000000..b2ea3b6c5 --- /dev/null +++ b/data/Templates/Cda/Reference/Location/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Location", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Location/_ManagingOrganization.liquid b/data/Templates/Cda/Reference/Location/_ManagingOrganization.liquid new file mode 100644 index 000000000..44bec5997 --- /dev/null +++ b/data/Templates/Cda/Reference/Location/_ManagingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Location", + "id":"{{ ID }}", + "managingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Location/_PartOf.liquid b/data/Templates/Cda/Reference/Location/_PartOf.liquid new file mode 100644 index 000000000..2cf42fe0f --- /dev/null +++ b/data/Templates/Cda/Reference/Location/_PartOf.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Location", + "id":"{{ ID }}", + "partOf": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Measure/_SubjectReference.liquid b/data/Templates/Cda/Reference/Measure/_SubjectReference.liquid new file mode 100644 index 000000000..da0363625 --- /dev/null +++ b/data/Templates/Cda/Reference/Measure/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Measure", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MeasureReport/_EvaluatedResource.liquid b/data/Templates/Cda/Reference/MeasureReport/_EvaluatedResource.liquid new file mode 100644 index 000000000..726a38afa --- /dev/null +++ b/data/Templates/Cda/Reference/MeasureReport/_EvaluatedResource.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MeasureReport", + "id":"{{ ID }}", + "evaluatedResource": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MeasureReport/_Reporter.liquid b/data/Templates/Cda/Reference/MeasureReport/_Reporter.liquid new file mode 100644 index 000000000..3ac070bbf --- /dev/null +++ b/data/Templates/Cda/Reference/MeasureReport/_Reporter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MeasureReport", + "id":"{{ ID }}", + "reporter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MeasureReport/_Subject.liquid b/data/Templates/Cda/Reference/MeasureReport/_Subject.liquid new file mode 100644 index 000000000..ffe763ebb --- /dev/null +++ b/data/Templates/Cda/Reference/MeasureReport/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MeasureReport", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Media/_BasedOn.liquid b/data/Templates/Cda/Reference/Media/_BasedOn.liquid new file mode 100644 index 000000000..b5c9a318d --- /dev/null +++ b/data/Templates/Cda/Reference/Media/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Media", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Media/_Device.liquid b/data/Templates/Cda/Reference/Media/_Device.liquid new file mode 100644 index 000000000..e8dc98816 --- /dev/null +++ b/data/Templates/Cda/Reference/Media/_Device.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Media", + "id":"{{ ID }}", + "device": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Media/_Encounter.liquid b/data/Templates/Cda/Reference/Media/_Encounter.liquid new file mode 100644 index 000000000..f8a084985 --- /dev/null +++ b/data/Templates/Cda/Reference/Media/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Media", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Media/_Operator.liquid b/data/Templates/Cda/Reference/Media/_Operator.liquid new file mode 100644 index 000000000..c86ebac08 --- /dev/null +++ b/data/Templates/Cda/Reference/Media/_Operator.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Media", + "id":"{{ ID }}", + "operator": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Media/_PartOf.liquid b/data/Templates/Cda/Reference/Media/_PartOf.liquid new file mode 100644 index 000000000..f98df9a3a --- /dev/null +++ b/data/Templates/Cda/Reference/Media/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Media", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Media/_Subject.liquid b/data/Templates/Cda/Reference/Media/_Subject.liquid new file mode 100644 index 000000000..6f6b43789 --- /dev/null +++ b/data/Templates/Cda/Reference/Media/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Media", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Medication/_Ingredient_ItemReference.liquid b/data/Templates/Cda/Reference/Medication/_Ingredient_ItemReference.liquid new file mode 100644 index 000000000..2cdb92ea4 --- /dev/null +++ b/data/Templates/Cda/Reference/Medication/_Ingredient_ItemReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Medication", + "id":"{{ ID }}", + "ingredient": + [ + { + "itemReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Medication/_Manufacturer.liquid b/data/Templates/Cda/Reference/Medication/_Manufacturer.liquid new file mode 100644 index 000000000..1b5951c3e --- /dev/null +++ b/data/Templates/Cda/Reference/Medication/_Manufacturer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Medication", + "id":"{{ ID }}", + "manufacturer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Context.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_Context.liquid new file mode 100644 index 000000000..2e8dedabf --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_Context.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "context": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Device.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_Device.liquid new file mode 100644 index 000000000..ba31f6011 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_Device.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "device": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_EventHistory.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_EventHistory.liquid new file mode 100644 index 000000000..c0ebad65e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_EventHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "eventHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_MedicationReference.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_MedicationReference.liquid new file mode 100644 index 000000000..7c7d199d9 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_MedicationReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "medicationReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_PartOf.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_PartOf.liquid new file mode 100644 index 000000000..e7edd8394 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Performer_Actor.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_Performer_Actor.liquid new file mode 100644 index 000000000..c071e3b21 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_Performer_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "performer": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_ReasonReference.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_ReasonReference.liquid new file mode 100644 index 000000000..81ef2418b --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Request.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_Request.liquid new file mode 100644 index 000000000..13ab5e13a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_Request.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "request": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Subject.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_Subject.liquid new file mode 100644 index 000000000..8cbd61e01 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_SupportingInformation.liquid b/data/Templates/Cda/Reference/MedicationAdministration/_SupportingInformation.liquid new file mode 100644 index 000000000..56c2636a9 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationAdministration/_SupportingInformation.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "supportingInformation": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_AuthorizingPrescription.liquid b/data/Templates/Cda/Reference/MedicationDispense/_AuthorizingPrescription.liquid new file mode 100644 index 000000000..ade80709a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_AuthorizingPrescription.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "authorizingPrescription": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Context.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Context.liquid new file mode 100644 index 000000000..a8314303b --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Context.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "context": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Destination.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Destination.liquid new file mode 100644 index 000000000..aea0b44b3 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Destination.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "destination": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_DetectedIssue.liquid b/data/Templates/Cda/Reference/MedicationDispense/_DetectedIssue.liquid new file mode 100644 index 000000000..84a135fc7 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_DetectedIssue.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "detectedIssue": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_EventHistory.liquid b/data/Templates/Cda/Reference/MedicationDispense/_EventHistory.liquid new file mode 100644 index 000000000..14ac1793a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_EventHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "eventHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Location.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Location.liquid new file mode 100644 index 000000000..20d23018a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_MedicationReference.liquid b/data/Templates/Cda/Reference/MedicationDispense/_MedicationReference.liquid new file mode 100644 index 000000000..2f63d1420 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_MedicationReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "medicationReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_PartOf.liquid b/data/Templates/Cda/Reference/MedicationDispense/_PartOf.liquid new file mode 100644 index 000000000..05dd6b54f --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Performer_Actor.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Performer_Actor.liquid new file mode 100644 index 000000000..4e5859c47 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Performer_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "performer": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Receiver.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Receiver.liquid new file mode 100644 index 000000000..c939dd2f0 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Receiver.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "receiver": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_StatusReasonReference.liquid b/data/Templates/Cda/Reference/MedicationDispense/_StatusReasonReference.liquid new file mode 100644 index 000000000..3a67c7ecf --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_StatusReasonReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "statusReasonReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Subject.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Subject.liquid new file mode 100644 index 000000000..4e2411af7 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid b/data/Templates/Cda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid new file mode 100644 index 000000000..17c6d4261 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "substitution": + { + "responsibleParty": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationDispense/_SupportingInformation.liquid b/data/Templates/Cda/Reference/MedicationDispense/_SupportingInformation.liquid new file mode 100644 index 000000000..ddb66631b --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationDispense/_SupportingInformation.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "supportingInformation": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid new file mode 100644 index 000000000..afaca97df --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "administrationGuidelines": + [ + { + "indicationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_AssociatedMedication.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_AssociatedMedication.liquid new file mode 100644 index 000000000..5e3d5cd5a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_AssociatedMedication.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "associatedMedication": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Contraindication.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_Contraindication.liquid new file mode 100644 index 000000000..eea788417 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_Contraindication.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "contraindication": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid new file mode 100644 index 000000000..b68dd1442 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "ingredient": + [ + { + "itemReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Manufacturer.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_Manufacturer.liquid new file mode 100644 index 000000000..5a0c142a6 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_Manufacturer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "manufacturer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Monograph_Source.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_Monograph_Source.liquid new file mode 100644 index 000000000..c695f039e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_Monograph_Source.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "monograph": + [ + { + "source": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid new file mode 100644 index 000000000..9b96ca222 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "regulatory": + [ + { + "regulatoryAuthority": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid b/data/Templates/Cda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid new file mode 100644 index 000000000..04b9824e3 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "MedicationKnowledge", + "id":"{{ ID }}", + "relatedMedicationKnowledge": + [ + { + "reference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_BasedOn.liquid b/data/Templates/Cda/Reference/MedicationRequest/_BasedOn.liquid new file mode 100644 index 000000000..eb0cc2830 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_DetectedIssue.liquid b/data/Templates/Cda/Reference/MedicationRequest/_DetectedIssue.liquid new file mode 100644 index 000000000..d3a756cee --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_DetectedIssue.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "detectedIssue": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid b/data/Templates/Cda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid new file mode 100644 index 000000000..d7bb627ea --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "dispenseRequest": + { + "performer": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Encounter.liquid b/data/Templates/Cda/Reference/MedicationRequest/_Encounter.liquid new file mode 100644 index 000000000..f3f7d7c29 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_EventHistory.liquid b/data/Templates/Cda/Reference/MedicationRequest/_EventHistory.liquid new file mode 100644 index 000000000..d6ede395e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_EventHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "eventHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Insurance.liquid b/data/Templates/Cda/Reference/MedicationRequest/_Insurance.liquid new file mode 100644 index 000000000..ae58b412a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_Insurance.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "insurance": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_MedicationReference.liquid b/data/Templates/Cda/Reference/MedicationRequest/_MedicationReference.liquid new file mode 100644 index 000000000..8758393f7 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_MedicationReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "medicationReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Performer.liquid b/data/Templates/Cda/Reference/MedicationRequest/_Performer.liquid new file mode 100644 index 000000000..f914b70ec --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_Performer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "performer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_PriorPrescription.liquid b/data/Templates/Cda/Reference/MedicationRequest/_PriorPrescription.liquid new file mode 100644 index 000000000..9137004f9 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_PriorPrescription.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "priorPrescription": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_ReasonReference.liquid b/data/Templates/Cda/Reference/MedicationRequest/_ReasonReference.liquid new file mode 100644 index 000000000..9ea6c2022 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Recorder.liquid b/data/Templates/Cda/Reference/MedicationRequest/_Recorder.liquid new file mode 100644 index 000000000..a424bf794 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_Recorder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "recorder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_ReportedReference.liquid b/data/Templates/Cda/Reference/MedicationRequest/_ReportedReference.liquid new file mode 100644 index 000000000..d5fd70056 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_ReportedReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "reportedReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Requester.liquid b/data/Templates/Cda/Reference/MedicationRequest/_Requester.liquid new file mode 100644 index 000000000..eac05c5b9 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_Requester.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "requester": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Subject.liquid b/data/Templates/Cda/Reference/MedicationRequest/_Subject.liquid new file mode 100644 index 000000000..8226289a1 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationRequest/_SupportingInformation.liquid b/data/Templates/Cda/Reference/MedicationRequest/_SupportingInformation.liquid new file mode 100644 index 000000000..cd485cc17 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationRequest/_SupportingInformation.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "supportingInformation": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_BasedOn.liquid b/data/Templates/Cda/Reference/MedicationStatement/_BasedOn.liquid new file mode 100644 index 000000000..abd6ab4d9 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_Context.liquid b/data/Templates/Cda/Reference/MedicationStatement/_Context.liquid new file mode 100644 index 000000000..ee4705c28 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_Context.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "context": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_DerivedFrom.liquid b/data/Templates/Cda/Reference/MedicationStatement/_DerivedFrom.liquid new file mode 100644 index 000000000..57948256e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_DerivedFrom.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "derivedFrom": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_InformationSource.liquid b/data/Templates/Cda/Reference/MedicationStatement/_InformationSource.liquid new file mode 100644 index 000000000..9ad1ac727 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_InformationSource.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "informationSource": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_MedicationReference.liquid b/data/Templates/Cda/Reference/MedicationStatement/_MedicationReference.liquid new file mode 100644 index 000000000..752c00fe8 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_MedicationReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "medicationReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_PartOf.liquid b/data/Templates/Cda/Reference/MedicationStatement/_PartOf.liquid new file mode 100644 index 000000000..b66df4ac0 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_ReasonReference.liquid b/data/Templates/Cda/Reference/MedicationStatement/_ReasonReference.liquid new file mode 100644 index 000000000..62cdd9045 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicationStatement/_Subject.liquid b/data/Templates/Cda/Reference/MedicationStatement/_Subject.liquid new file mode 100644 index 000000000..99ef656f4 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicationStatement/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_AttachedDocument.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_AttachedDocument.liquid new file mode 100644 index 000000000..56a0127b5 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_AttachedDocument.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "attachedDocument": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_ClinicalTrial.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_ClinicalTrial.liquid new file mode 100644 index 000000000..42318f27c --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_ClinicalTrial.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "clinicalTrial": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_Contact.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_Contact.liquid new file mode 100644 index 000000000..396561d09 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_Contact.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "contact": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid new file mode 100644 index 000000000..e3f7aab54 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "manufacturingBusinessOperation": + [ + { + "manufacturer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid new file mode 100644 index 000000000..b2cc7812e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "manufacturingBusinessOperation": + [ + { + "regulator": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_MasterFile.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_MasterFile.liquid new file mode 100644 index 000000000..68fb07e22 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_MasterFile.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "masterFile": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid new file mode 100644 index 000000000..a287de4e8 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "packagedMedicinalProduct": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid new file mode 100644 index 000000000..fcf13a3ba --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "pharmaceuticalProduct": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid b/data/Templates/Cda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid new file mode 100644 index 000000000..4b4a65431 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicinalProduct", + "id":"{{ ID }}", + "specialDesignation": + [ + { + "indicationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Holder.liquid b/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Holder.liquid new file mode 100644 index 000000000..ff886805f --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Holder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicinalProductAuthorization", + "id":"{{ ID }}", + "holder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Regulator.liquid b/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Regulator.liquid new file mode 100644 index 000000000..9a4856ade --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Regulator.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicinalProductAuthorization", + "id":"{{ ID }}", + "regulator": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Subject.liquid b/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Subject.liquid new file mode 100644 index 000000000..7b65ea0d2 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicinalProductAuthorization", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid b/data/Templates/Cda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid new file mode 100644 index 000000000..e07f409b2 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicinalProductContraindication", + "id":"{{ ID }}", + "otherTherapy": + [ + { + "medicationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductContraindication/_Subject.liquid b/data/Templates/Cda/Reference/MedicinalProductContraindication/_Subject.liquid new file mode 100644 index 000000000..0ff9505b0 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductContraindication/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductContraindication", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid b/data/Templates/Cda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid new file mode 100644 index 000000000..96f8c195d --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductContraindication", + "id":"{{ ID }}", + "therapeuticIndication": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid b/data/Templates/Cda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid new file mode 100644 index 000000000..6764f90e2 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicinalProductIndication", + "id":"{{ ID }}", + "otherTherapy": + [ + { + "medicationReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductIndication/_Subject.liquid b/data/Templates/Cda/Reference/MedicinalProductIndication/_Subject.liquid new file mode 100644 index 000000000..c6dda2bd7 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductIndication/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductIndication", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid b/data/Templates/Cda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid new file mode 100644 index 000000000..9eb10ad1a --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductIndication", + "id":"{{ ID }}", + "undesirableEffect": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductIngredient/_Manufacturer.liquid b/data/Templates/Cda/Reference/MedicinalProductIngredient/_Manufacturer.liquid new file mode 100644 index 000000000..5ceb76eda --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductIngredient/_Manufacturer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductIngredient", + "id":"{{ ID }}", + "manufacturer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid b/data/Templates/Cda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid new file mode 100644 index 000000000..78be5be29 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MedicinalProductInteraction", + "id":"{{ ID }}", + "interactant": + [ + { + "itemReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductInteraction/_Subject.liquid b/data/Templates/Cda/Reference/MedicinalProductInteraction/_Subject.liquid new file mode 100644 index 000000000..403e0cea7 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductInteraction/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductInteraction", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductManufactured/_Ingredient.liquid b/data/Templates/Cda/Reference/MedicinalProductManufactured/_Ingredient.liquid new file mode 100644 index 000000000..16085caf1 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductManufactured/_Ingredient.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductManufactured", + "id":"{{ ID }}", + "ingredient": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductManufactured/_Manufacturer.liquid b/data/Templates/Cda/Reference/MedicinalProductManufactured/_Manufacturer.liquid new file mode 100644 index 000000000..07cd3c8a0 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductManufactured/_Manufacturer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductManufactured", + "id":"{{ ID }}", + "manufacturer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_Manufacturer.liquid b/data/Templates/Cda/Reference/MedicinalProductPackaged/_Manufacturer.liquid new file mode 100644 index 000000000..e67b07da9 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPackaged/_Manufacturer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPackaged", + "id":"{{ ID }}", + "manufacturer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid b/data/Templates/Cda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid new file mode 100644 index 000000000..006e3492e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPackaged", + "id":"{{ ID }}", + "marketingAuthorization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid b/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid new file mode 100644 index 000000000..de794a4d7 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPackaged", + "id":"{{ ID }}", + "packageItem": + [ + { + "device": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid b/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid new file mode 100644 index 000000000..0de7714c1 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPackaged", + "id":"{{ ID }}", + "packageItem": + [ + { + "manufacturedItem": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid b/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid new file mode 100644 index 000000000..b0955b13b --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPackaged", + "id":"{{ ID }}", + "packageItem": + [ + { + "manufacturer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_Subject.liquid b/data/Templates/Cda/Reference/MedicinalProductPackaged/_Subject.liquid new file mode 100644 index 000000000..fc0524c3b --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPackaged/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPackaged", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Device.liquid b/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Device.liquid new file mode 100644 index 000000000..b81131f1e --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Device.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPharmaceutical", + "id":"{{ ID }}", + "device": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid b/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid new file mode 100644 index 000000000..81ca166e6 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductPharmaceutical", + "id":"{{ ID }}", + "ingredient": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid b/data/Templates/Cda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid new file mode 100644 index 000000000..7164297c3 --- /dev/null +++ b/data/Templates/Cda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MedicinalProductUndesirableEffect", + "id":"{{ ID }}", + "subject": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Author.liquid b/data/Templates/Cda/Reference/MessageHeader/_Author.liquid new file mode 100644 index 000000000..0e466c802 --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Destination_Receiver.liquid b/data/Templates/Cda/Reference/MessageHeader/_Destination_Receiver.liquid new file mode 100644 index 000000000..76bb3ce04 --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Destination_Receiver.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "destination": + [ + { + "receiver": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Destination_Target.liquid b/data/Templates/Cda/Reference/MessageHeader/_Destination_Target.liquid new file mode 100644 index 000000000..fc3174eea --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Destination_Target.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "destination": + [ + { + "target": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Enterer.liquid b/data/Templates/Cda/Reference/MessageHeader/_Enterer.liquid new file mode 100644 index 000000000..9709c6929 --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Enterer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "enterer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Focus.liquid b/data/Templates/Cda/Reference/MessageHeader/_Focus.liquid new file mode 100644 index 000000000..56d622553 --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Focus.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "focus": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Response_Details.liquid b/data/Templates/Cda/Reference/MessageHeader/_Response_Details.liquid new file mode 100644 index 000000000..40ea66fa7 --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Response_Details.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "response": + { + "details": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Responsible.liquid b/data/Templates/Cda/Reference/MessageHeader/_Responsible.liquid new file mode 100644 index 000000000..b19d0ec5c --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Responsible.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "responsible": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MessageHeader/_Sender.liquid b/data/Templates/Cda/Reference/MessageHeader/_Sender.liquid new file mode 100644 index 000000000..f11fbfdd4 --- /dev/null +++ b/data/Templates/Cda/Reference/MessageHeader/_Sender.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MessageHeader", + "id":"{{ ID }}", + "sender": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Device.liquid b/data/Templates/Cda/Reference/MolecularSequence/_Device.liquid new file mode 100644 index 000000000..ae9271f91 --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_Device.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "device": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Patient.liquid b/data/Templates/Cda/Reference/MolecularSequence/_Patient.liquid new file mode 100644 index 000000000..3b9bde46c --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Performer.liquid b/data/Templates/Cda/Reference/MolecularSequence/_Performer.liquid new file mode 100644 index 000000000..218ac0eaf --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_Performer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "performer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Pointer.liquid b/data/Templates/Cda/Reference/MolecularSequence/_Pointer.liquid new file mode 100644 index 000000000..896be4612 --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_Pointer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "pointer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid b/data/Templates/Cda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid new file mode 100644 index 000000000..ab7935846 --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "referenceSeq": + { + "referenceSeqPointer": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Specimen.liquid b/data/Templates/Cda/Reference/MolecularSequence/_Specimen.liquid new file mode 100644 index 000000000..d4f1ebb3d --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_Specimen.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "specimen": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Variant_VariantPointer.liquid b/data/Templates/Cda/Reference/MolecularSequence/_Variant_VariantPointer.liquid new file mode 100644 index 000000000..90bff3d90 --- /dev/null +++ b/data/Templates/Cda/Reference/MolecularSequence/_Variant_VariantPointer.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "MolecularSequence", + "id":"{{ ID }}", + "variant": + [ + { + "variantPointer": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/NutritionOrder/_AllergyIntolerance.liquid b/data/Templates/Cda/Reference/NutritionOrder/_AllergyIntolerance.liquid new file mode 100644 index 000000000..6d0388723 --- /dev/null +++ b/data/Templates/Cda/Reference/NutritionOrder/_AllergyIntolerance.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "NutritionOrder", + "id":"{{ ID }}", + "allergyIntolerance": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/NutritionOrder/_Encounter.liquid b/data/Templates/Cda/Reference/NutritionOrder/_Encounter.liquid new file mode 100644 index 000000000..8467732b4 --- /dev/null +++ b/data/Templates/Cda/Reference/NutritionOrder/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "NutritionOrder", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/NutritionOrder/_Orderer.liquid b/data/Templates/Cda/Reference/NutritionOrder/_Orderer.liquid new file mode 100644 index 000000000..8a1a61ecb --- /dev/null +++ b/data/Templates/Cda/Reference/NutritionOrder/_Orderer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "NutritionOrder", + "id":"{{ ID }}", + "orderer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/NutritionOrder/_Patient.liquid b/data/Templates/Cda/Reference/NutritionOrder/_Patient.liquid new file mode 100644 index 000000000..3d625f00b --- /dev/null +++ b/data/Templates/Cda/Reference/NutritionOrder/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "NutritionOrder", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_BasedOn.liquid b/data/Templates/Cda/Reference/Observation/_BasedOn.liquid new file mode 100644 index 000000000..5bd2de41b --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_DerivedFrom.liquid b/data/Templates/Cda/Reference/Observation/_DerivedFrom.liquid new file mode 100644 index 000000000..f775445c7 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_DerivedFrom.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "derivedFrom": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_Device.liquid b/data/Templates/Cda/Reference/Observation/_Device.liquid new file mode 100644 index 000000000..f6a11b2d5 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_Device.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "device": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_Encounter.liquid b/data/Templates/Cda/Reference/Observation/_Encounter.liquid new file mode 100644 index 000000000..0f093c7ed --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_Focus.liquid b/data/Templates/Cda/Reference/Observation/_Focus.liquid new file mode 100644 index 000000000..c2676ae97 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_Focus.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "focus": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_HasMember.liquid b/data/Templates/Cda/Reference/Observation/_HasMember.liquid new file mode 100644 index 000000000..03d9e4944 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_HasMember.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "hasMember": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_PartOf.liquid b/data/Templates/Cda/Reference/Observation/_PartOf.liquid new file mode 100644 index 000000000..8c52f7273 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_Performer.liquid b/data/Templates/Cda/Reference/Observation/_Performer.liquid new file mode 100644 index 000000000..f4db79030 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_Performer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "performer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_Specimen.liquid b/data/Templates/Cda/Reference/Observation/_Specimen.liquid new file mode 100644 index 000000000..bcc2092b0 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_Specimen.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "specimen": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Observation/_Subject.liquid b/data/Templates/Cda/Reference/Observation/_Subject.liquid new file mode 100644 index 000000000..f2c44ab53 --- /dev/null +++ b/data/Templates/Cda/Reference/Observation/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid b/data/Templates/Cda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid new file mode 100644 index 000000000..4fc4bd7a6 --- /dev/null +++ b/data/Templates/Cda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ObservationDefinition", + "id":"{{ ID }}", + "abnormalCodedValueSet": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid b/data/Templates/Cda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid new file mode 100644 index 000000000..94ee86267 --- /dev/null +++ b/data/Templates/Cda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ObservationDefinition", + "id":"{{ ID }}", + "criticalCodedValueSet": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid b/data/Templates/Cda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid new file mode 100644 index 000000000..5f9c1fcac --- /dev/null +++ b/data/Templates/Cda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ObservationDefinition", + "id":"{{ ID }}", + "normalCodedValueSet": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid b/data/Templates/Cda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid new file mode 100644 index 000000000..916efbe32 --- /dev/null +++ b/data/Templates/Cda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ObservationDefinition", + "id":"{{ ID }}", + "validCodedValueSet": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Organization/_Endpoint.liquid b/data/Templates/Cda/Reference/Organization/_Endpoint.liquid new file mode 100644 index 000000000..43ec359a7 --- /dev/null +++ b/data/Templates/Cda/Reference/Organization/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Organization", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Organization/_PartOf.liquid b/data/Templates/Cda/Reference/Organization/_PartOf.liquid new file mode 100644 index 000000000..c24fff05d --- /dev/null +++ b/data/Templates/Cda/Reference/Organization/_PartOf.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Organization", + "id":"{{ ID }}", + "partOf": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Endpoint.liquid b/data/Templates/Cda/Reference/OrganizationAffiliation/_Endpoint.liquid new file mode 100644 index 000000000..930a82df2 --- /dev/null +++ b/data/Templates/Cda/Reference/OrganizationAffiliation/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "OrganizationAffiliation", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_HealthcareService.liquid b/data/Templates/Cda/Reference/OrganizationAffiliation/_HealthcareService.liquid new file mode 100644 index 000000000..50caacff5 --- /dev/null +++ b/data/Templates/Cda/Reference/OrganizationAffiliation/_HealthcareService.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "OrganizationAffiliation", + "id":"{{ ID }}", + "healthcareService": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Location.liquid b/data/Templates/Cda/Reference/OrganizationAffiliation/_Location.liquid new file mode 100644 index 000000000..7bed695d9 --- /dev/null +++ b/data/Templates/Cda/Reference/OrganizationAffiliation/_Location.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "OrganizationAffiliation", + "id":"{{ ID }}", + "location": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Network.liquid b/data/Templates/Cda/Reference/OrganizationAffiliation/_Network.liquid new file mode 100644 index 000000000..bbfddeed7 --- /dev/null +++ b/data/Templates/Cda/Reference/OrganizationAffiliation/_Network.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "OrganizationAffiliation", + "id":"{{ ID }}", + "network": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Organization.liquid b/data/Templates/Cda/Reference/OrganizationAffiliation/_Organization.liquid new file mode 100644 index 000000000..4d1b32acd --- /dev/null +++ b/data/Templates/Cda/Reference/OrganizationAffiliation/_Organization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "OrganizationAffiliation", + "id":"{{ ID }}", + "organization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid b/data/Templates/Cda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid new file mode 100644 index 000000000..d4e891902 --- /dev/null +++ b/data/Templates/Cda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "OrganizationAffiliation", + "id":"{{ ID }}", + "participatingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Parameters/_Parameter_ValueReference.liquid b/data/Templates/Cda/Reference/Parameters/_Parameter_ValueReference.liquid new file mode 100644 index 000000000..92d8cafa4 --- /dev/null +++ b/data/Templates/Cda/Reference/Parameters/_Parameter_ValueReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Parameters", + "id":"{{ ID }}", + "parameter": + [ + { + "valueReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Patient/_Contact_Organization.liquid b/data/Templates/Cda/Reference/Patient/_Contact_Organization.liquid new file mode 100644 index 000000000..8872a74f5 --- /dev/null +++ b/data/Templates/Cda/Reference/Patient/_Contact_Organization.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Patient", + "id":"{{ ID }}", + "contact": + [ + { + "organization": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Patient/_GeneralPractitioner.liquid b/data/Templates/Cda/Reference/Patient/_GeneralPractitioner.liquid new file mode 100644 index 000000000..8e81d142b --- /dev/null +++ b/data/Templates/Cda/Reference/Patient/_GeneralPractitioner.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Patient", + "id":"{{ ID }}", + "generalPractitioner": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Patient/_Link_Other.liquid b/data/Templates/Cda/Reference/Patient/_Link_Other.liquid new file mode 100644 index 000000000..d662f9ad6 --- /dev/null +++ b/data/Templates/Cda/Reference/Patient/_Link_Other.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Patient", + "id":"{{ ID }}", + "link": + [ + { + "other": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Patient/_ManagingOrganization.liquid b/data/Templates/Cda/Reference/Patient/_ManagingOrganization.liquid new file mode 100644 index 000000000..19b150c70 --- /dev/null +++ b/data/Templates/Cda/Reference/Patient/_ManagingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Patient", + "id":"{{ ID }}", + "managingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Payee.liquid b/data/Templates/Cda/Reference/PaymentNotice/_Payee.liquid new file mode 100644 index 000000000..991b5552f --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentNotice/_Payee.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentNotice", + "id":"{{ ID }}", + "payee": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Payment.liquid b/data/Templates/Cda/Reference/PaymentNotice/_Payment.liquid new file mode 100644 index 000000000..08f96c2c3 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentNotice/_Payment.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentNotice", + "id":"{{ ID }}", + "payment": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Provider.liquid b/data/Templates/Cda/Reference/PaymentNotice/_Provider.liquid new file mode 100644 index 000000000..4478fae85 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentNotice/_Provider.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentNotice", + "id":"{{ ID }}", + "provider": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Recipient.liquid b/data/Templates/Cda/Reference/PaymentNotice/_Recipient.liquid new file mode 100644 index 000000000..e17c4a194 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentNotice/_Recipient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentNotice", + "id":"{{ ID }}", + "recipient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Request.liquid b/data/Templates/Cda/Reference/PaymentNotice/_Request.liquid new file mode 100644 index 000000000..9b9add211 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentNotice/_Request.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentNotice", + "id":"{{ ID }}", + "request": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Response.liquid b/data/Templates/Cda/Reference/PaymentNotice/_Response.liquid new file mode 100644 index 000000000..c777c8c38 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentNotice/_Response.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentNotice", + "id":"{{ ID }}", + "response": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Payee.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Payee.liquid new file mode 100644 index 000000000..6fc08b9e4 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Payee.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "detail": + [ + { + "payee": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Request.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Request.liquid new file mode 100644 index 000000000..e5b980899 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Request.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "detail": + [ + { + "request": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Response.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Response.liquid new file mode 100644 index 000000000..59902844e --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Response.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "detail": + [ + { + "response": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Responsible.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Responsible.liquid new file mode 100644 index 000000000..24b446563 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Responsible.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "detail": + [ + { + "responsible": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Submitter.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Submitter.liquid new file mode 100644 index 000000000..ab7943851 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Submitter.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "detail": + [ + { + "submitter": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_PaymentIssuer.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_PaymentIssuer.liquid new file mode 100644 index 000000000..09b97f342 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_PaymentIssuer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "paymentIssuer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Request.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Request.liquid new file mode 100644 index 000000000..e16c2b338 --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Request.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "request": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Requestor.liquid b/data/Templates/Cda/Reference/PaymentReconciliation/_Requestor.liquid new file mode 100644 index 000000000..b34b0675f --- /dev/null +++ b/data/Templates/Cda/Reference/PaymentReconciliation/_Requestor.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PaymentReconciliation", + "id":"{{ ID }}", + "requestor": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Person/_Link_Target.liquid b/data/Templates/Cda/Reference/Person/_Link_Target.liquid new file mode 100644 index 000000000..f4c94ad98 --- /dev/null +++ b/data/Templates/Cda/Reference/Person/_Link_Target.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Person", + "id":"{{ ID }}", + "link": + [ + { + "target": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Person/_ManagingOrganization.liquid b/data/Templates/Cda/Reference/Person/_ManagingOrganization.liquid new file mode 100644 index 000000000..14ec20826 --- /dev/null +++ b/data/Templates/Cda/Reference/Person/_ManagingOrganization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Person", + "id":"{{ ID }}", + "managingOrganization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PlanDefinition/_Action_SubjectReference.liquid b/data/Templates/Cda/Reference/PlanDefinition/_Action_SubjectReference.liquid new file mode 100644 index 000000000..96a25e5d6 --- /dev/null +++ b/data/Templates/Cda/Reference/PlanDefinition/_Action_SubjectReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "PlanDefinition", + "id":"{{ ID }}", + "action": + [ + { + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PlanDefinition/_SubjectReference.liquid b/data/Templates/Cda/Reference/PlanDefinition/_SubjectReference.liquid new file mode 100644 index 000000000..76148f755 --- /dev/null +++ b/data/Templates/Cda/Reference/PlanDefinition/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PlanDefinition", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Practitioner/_Qualification_Issuer.liquid b/data/Templates/Cda/Reference/Practitioner/_Qualification_Issuer.liquid new file mode 100644 index 000000000..8c54220b4 --- /dev/null +++ b/data/Templates/Cda/Reference/Practitioner/_Qualification_Issuer.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Practitioner", + "id":"{{ ID }}", + "qualification": + [ + { + "issuer": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Endpoint.liquid b/data/Templates/Cda/Reference/PractitionerRole/_Endpoint.liquid new file mode 100644 index 000000000..d9badbeb4 --- /dev/null +++ b/data/Templates/Cda/Reference/PractitionerRole/_Endpoint.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "PractitionerRole", + "id":"{{ ID }}", + "endpoint": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PractitionerRole/_HealthcareService.liquid b/data/Templates/Cda/Reference/PractitionerRole/_HealthcareService.liquid new file mode 100644 index 000000000..a6d8d8bf1 --- /dev/null +++ b/data/Templates/Cda/Reference/PractitionerRole/_HealthcareService.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "PractitionerRole", + "id":"{{ ID }}", + "healthcareService": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Location.liquid b/data/Templates/Cda/Reference/PractitionerRole/_Location.liquid new file mode 100644 index 000000000..03662cbab --- /dev/null +++ b/data/Templates/Cda/Reference/PractitionerRole/_Location.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "PractitionerRole", + "id":"{{ ID }}", + "location": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Organization.liquid b/data/Templates/Cda/Reference/PractitionerRole/_Organization.liquid new file mode 100644 index 000000000..6b06e03e1 --- /dev/null +++ b/data/Templates/Cda/Reference/PractitionerRole/_Organization.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PractitionerRole", + "id":"{{ ID }}", + "organization": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Practitioner.liquid b/data/Templates/Cda/Reference/PractitionerRole/_Practitioner.liquid new file mode 100644 index 000000000..1b5ed3c1f --- /dev/null +++ b/data/Templates/Cda/Reference/PractitionerRole/_Practitioner.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "PractitionerRole", + "id":"{{ ID }}", + "practitioner": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Asserter.liquid b/data/Templates/Cda/Reference/Procedure/_Asserter.liquid new file mode 100644 index 000000000..8bc263724 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Asserter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "asserter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_BasedOn.liquid b/data/Templates/Cda/Reference/Procedure/_BasedOn.liquid new file mode 100644 index 000000000..80c7449a9 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_ComplicationDetail.liquid b/data/Templates/Cda/Reference/Procedure/_ComplicationDetail.liquid new file mode 100644 index 000000000..b23c62846 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_ComplicationDetail.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "complicationDetail": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Encounter.liquid b/data/Templates/Cda/Reference/Procedure/_Encounter.liquid new file mode 100644 index 000000000..daf25e875 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_FocalDevice_Manipulated.liquid b/data/Templates/Cda/Reference/Procedure/_FocalDevice_Manipulated.liquid new file mode 100644 index 000000000..62b38101d --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_FocalDevice_Manipulated.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "focalDevice": + [ + { + "manipulated": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Location.liquid b/data/Templates/Cda/Reference/Procedure/_Location.liquid new file mode 100644 index 000000000..ee5bc6227 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_PartOf.liquid b/data/Templates/Cda/Reference/Procedure/_PartOf.liquid new file mode 100644 index 000000000..b4f721ac1 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Performer_Actor.liquid b/data/Templates/Cda/Reference/Procedure/_Performer_Actor.liquid new file mode 100644 index 000000000..ffcb23eca --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Performer_Actor.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "performer": + [ + { + "actor": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Performer_OnBehalfOf.liquid b/data/Templates/Cda/Reference/Procedure/_Performer_OnBehalfOf.liquid new file mode 100644 index 000000000..2bcb47448 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Performer_OnBehalfOf.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "performer": + [ + { + "onBehalfOf": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_ReasonReference.liquid b/data/Templates/Cda/Reference/Procedure/_ReasonReference.liquid new file mode 100644 index 000000000..b14f6f4cc --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Recorder.liquid b/data/Templates/Cda/Reference/Procedure/_Recorder.liquid new file mode 100644 index 000000000..3c53baabd --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Recorder.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "recorder": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Report.liquid b/data/Templates/Cda/Reference/Procedure/_Report.liquid new file mode 100644 index 000000000..7b3261b70 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Report.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "report": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_Subject.liquid b/data/Templates/Cda/Reference/Procedure/_Subject.liquid new file mode 100644 index 000000000..6c0f8e0c0 --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Procedure/_UsedReference.liquid b/data/Templates/Cda/Reference/Procedure/_UsedReference.liquid new file mode 100644 index 000000000..18136323d --- /dev/null +++ b/data/Templates/Cda/Reference/Procedure/_UsedReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "usedReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Provenance/_Agent_OnBehalfOf.liquid b/data/Templates/Cda/Reference/Provenance/_Agent_OnBehalfOf.liquid new file mode 100644 index 000000000..919fa77ee --- /dev/null +++ b/data/Templates/Cda/Reference/Provenance/_Agent_OnBehalfOf.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Provenance", + "id":"{{ ID }}", + "agent": + [ + { + "onBehalfOf": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Provenance/_Agent_Who.liquid b/data/Templates/Cda/Reference/Provenance/_Agent_Who.liquid new file mode 100644 index 000000000..a627423d0 --- /dev/null +++ b/data/Templates/Cda/Reference/Provenance/_Agent_Who.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Provenance", + "id":"{{ ID }}", + "agent": + [ + { + "who": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Provenance/_Entity_What.liquid b/data/Templates/Cda/Reference/Provenance/_Entity_What.liquid new file mode 100644 index 000000000..2b0a016c6 --- /dev/null +++ b/data/Templates/Cda/Reference/Provenance/_Entity_What.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Provenance", + "id":"{{ ID }}", + "entity": + [ + { + "what": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Provenance/_Location.liquid b/data/Templates/Cda/Reference/Provenance/_Location.liquid new file mode 100644 index 000000000..2f0dad440 --- /dev/null +++ b/data/Templates/Cda/Reference/Provenance/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Provenance", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Provenance/_Target.liquid b/data/Templates/Cda/Reference/Provenance/_Target.liquid new file mode 100644 index 000000000..ddc105b8b --- /dev/null +++ b/data/Templates/Cda/Reference/Provenance/_Target.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Provenance", + "id":"{{ ID }}", + "target": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Author.liquid b/data/Templates/Cda/Reference/QuestionnaireResponse/_Author.liquid new file mode 100644 index 000000000..241eec1a1 --- /dev/null +++ b/data/Templates/Cda/Reference/QuestionnaireResponse/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "QuestionnaireResponse", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_BasedOn.liquid b/data/Templates/Cda/Reference/QuestionnaireResponse/_BasedOn.liquid new file mode 100644 index 000000000..2bee193d0 --- /dev/null +++ b/data/Templates/Cda/Reference/QuestionnaireResponse/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "QuestionnaireResponse", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Encounter.liquid b/data/Templates/Cda/Reference/QuestionnaireResponse/_Encounter.liquid new file mode 100644 index 000000000..c13e7f6bf --- /dev/null +++ b/data/Templates/Cda/Reference/QuestionnaireResponse/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "QuestionnaireResponse", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_PartOf.liquid b/data/Templates/Cda/Reference/QuestionnaireResponse/_PartOf.liquid new file mode 100644 index 000000000..98ef4d1b6 --- /dev/null +++ b/data/Templates/Cda/Reference/QuestionnaireResponse/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "QuestionnaireResponse", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Source.liquid b/data/Templates/Cda/Reference/QuestionnaireResponse/_Source.liquid new file mode 100644 index 000000000..afb28d43d --- /dev/null +++ b/data/Templates/Cda/Reference/QuestionnaireResponse/_Source.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "QuestionnaireResponse", + "id":"{{ ID }}", + "source": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Subject.liquid b/data/Templates/Cda/Reference/QuestionnaireResponse/_Subject.liquid new file mode 100644 index 000000000..4931d5955 --- /dev/null +++ b/data/Templates/Cda/Reference/QuestionnaireResponse/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "QuestionnaireResponse", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RelatedPerson/_Patient.liquid b/data/Templates/Cda/Reference/RelatedPerson/_Patient.liquid new file mode 100644 index 000000000..bbdc8bcb9 --- /dev/null +++ b/data/Templates/Cda/Reference/RelatedPerson/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RelatedPerson", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_Action_Participant.liquid b/data/Templates/Cda/Reference/RequestGroup/_Action_Participant.liquid new file mode 100644 index 000000000..3043c03c1 --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_Action_Participant.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "action": + [ + { + "participant": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_Action_Resource.liquid b/data/Templates/Cda/Reference/RequestGroup/_Action_Resource.liquid new file mode 100644 index 000000000..5a442c48a --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_Action_Resource.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "action": + [ + { + "resource": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_Author.liquid b/data/Templates/Cda/Reference/RequestGroup/_Author.liquid new file mode 100644 index 000000000..15858af47 --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_Author.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "author": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_BasedOn.liquid b/data/Templates/Cda/Reference/RequestGroup/_BasedOn.liquid new file mode 100644 index 000000000..4a25d1104 --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_Encounter.liquid b/data/Templates/Cda/Reference/RequestGroup/_Encounter.liquid new file mode 100644 index 000000000..7e41a730e --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_ReasonReference.liquid b/data/Templates/Cda/Reference/RequestGroup/_ReasonReference.liquid new file mode 100644 index 000000000..2db5f3bd6 --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_Replaces.liquid b/data/Templates/Cda/Reference/RequestGroup/_Replaces.liquid new file mode 100644 index 000000000..a68bbb468 --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_Replaces.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "replaces": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RequestGroup/_Subject.liquid b/data/Templates/Cda/Reference/RequestGroup/_Subject.liquid new file mode 100644 index 000000000..2a193ef50 --- /dev/null +++ b/data/Templates/Cda/Reference/RequestGroup/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RequestGroup", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_Exposure.liquid b/data/Templates/Cda/Reference/ResearchDefinition/_Exposure.liquid new file mode 100644 index 000000000..aaca17193 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchDefinition/_Exposure.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchDefinition", + "id":"{{ ID }}", + "exposure": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_ExposureAlternative.liquid b/data/Templates/Cda/Reference/ResearchDefinition/_ExposureAlternative.liquid new file mode 100644 index 000000000..678323b27 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchDefinition/_ExposureAlternative.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchDefinition", + "id":"{{ ID }}", + "exposureAlternative": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_Outcome.liquid b/data/Templates/Cda/Reference/ResearchDefinition/_Outcome.liquid new file mode 100644 index 000000000..e9fea6ce8 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchDefinition/_Outcome.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchDefinition", + "id":"{{ ID }}", + "outcome": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_Population.liquid b/data/Templates/Cda/Reference/ResearchDefinition/_Population.liquid new file mode 100644 index 000000000..f1ed4411e --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchDefinition/_Population.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchDefinition", + "id":"{{ ID }}", + "population": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_SubjectReference.liquid b/data/Templates/Cda/Reference/ResearchDefinition/_SubjectReference.liquid new file mode 100644 index 000000000..122364c3f --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchDefinition/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchDefinition", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchElementDefinition/_SubjectReference.liquid b/data/Templates/Cda/Reference/ResearchElementDefinition/_SubjectReference.liquid new file mode 100644 index 000000000..ff432c5f1 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchElementDefinition/_SubjectReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchElementDefinition", + "id":"{{ ID }}", + "subjectReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Enrollment.liquid b/data/Templates/Cda/Reference/ResearchStudy/_Enrollment.liquid new file mode 100644 index 000000000..3e9fac9be --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchStudy/_Enrollment.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ResearchStudy", + "id":"{{ ID }}", + "enrollment": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchStudy/_PartOf.liquid b/data/Templates/Cda/Reference/ResearchStudy/_PartOf.liquid new file mode 100644 index 000000000..c2f346268 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchStudy/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ResearchStudy", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchStudy/_PrincipalInvestigator.liquid b/data/Templates/Cda/Reference/ResearchStudy/_PrincipalInvestigator.liquid new file mode 100644 index 000000000..a346b3e72 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchStudy/_PrincipalInvestigator.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchStudy", + "id":"{{ ID }}", + "principalInvestigator": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Protocol.liquid b/data/Templates/Cda/Reference/ResearchStudy/_Protocol.liquid new file mode 100644 index 000000000..3d635da8b --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchStudy/_Protocol.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ResearchStudy", + "id":"{{ ID }}", + "protocol": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Site.liquid b/data/Templates/Cda/Reference/ResearchStudy/_Site.liquid new file mode 100644 index 000000000..ecee78bbf --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchStudy/_Site.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ResearchStudy", + "id":"{{ ID }}", + "site": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Sponsor.liquid b/data/Templates/Cda/Reference/ResearchStudy/_Sponsor.liquid new file mode 100644 index 000000000..7a4baa3ab --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchStudy/_Sponsor.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchStudy", + "id":"{{ ID }}", + "sponsor": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchSubject/_Consent.liquid b/data/Templates/Cda/Reference/ResearchSubject/_Consent.liquid new file mode 100644 index 000000000..11bca6067 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchSubject/_Consent.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchSubject", + "id":"{{ ID }}", + "consent": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchSubject/_Individual.liquid b/data/Templates/Cda/Reference/ResearchSubject/_Individual.liquid new file mode 100644 index 000000000..c349bf7a0 --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchSubject/_Individual.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchSubject", + "id":"{{ ID }}", + "individual": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ResearchSubject/_Study.liquid b/data/Templates/Cda/Reference/ResearchSubject/_Study.liquid new file mode 100644 index 000000000..58e5d243a --- /dev/null +++ b/data/Templates/Cda/Reference/ResearchSubject/_Study.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ResearchSubject", + "id":"{{ ID }}", + "study": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_BasedOn.liquid b/data/Templates/Cda/Reference/RiskAssessment/_BasedOn.liquid new file mode 100644 index 000000000..9f300c17f --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_BasedOn.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "basedOn": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Basis.liquid b/data/Templates/Cda/Reference/RiskAssessment/_Basis.liquid new file mode 100644 index 000000000..778e54727 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_Basis.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "basis": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Condition.liquid b/data/Templates/Cda/Reference/RiskAssessment/_Condition.liquid new file mode 100644 index 000000000..dea8ece96 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_Condition.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "condition": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Encounter.liquid b/data/Templates/Cda/Reference/RiskAssessment/_Encounter.liquid new file mode 100644 index 000000000..d992d858e --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Parent.liquid b/data/Templates/Cda/Reference/RiskAssessment/_Parent.liquid new file mode 100644 index 000000000..9dbee12b2 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_Parent.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "parent": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Performer.liquid b/data/Templates/Cda/Reference/RiskAssessment/_Performer.liquid new file mode 100644 index 000000000..45e5b6837 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_Performer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "performer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_ReasonReference.liquid b/data/Templates/Cda/Reference/RiskAssessment/_ReasonReference.liquid new file mode 100644 index 000000000..82bd1c555 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Subject.liquid b/data/Templates/Cda/Reference/RiskAssessment/_Subject.liquid new file mode 100644 index 000000000..8d9b8a7ed --- /dev/null +++ b/data/Templates/Cda/Reference/RiskAssessment/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskAssessment", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Exposure.liquid b/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Exposure.liquid new file mode 100644 index 000000000..02abc04c9 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Exposure.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskEvidenceSynthesis", + "id":"{{ ID }}", + "exposure": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Outcome.liquid b/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Outcome.liquid new file mode 100644 index 000000000..fbfc0fbb9 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Outcome.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskEvidenceSynthesis", + "id":"{{ ID }}", + "outcome": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Population.liquid b/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Population.liquid new file mode 100644 index 000000000..39cd09292 --- /dev/null +++ b/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Population.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "RiskEvidenceSynthesis", + "id":"{{ ID }}", + "population": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Schedule/_Actor.liquid b/data/Templates/Cda/Reference/Schedule/_Actor.liquid new file mode 100644 index 000000000..405091038 --- /dev/null +++ b/data/Templates/Cda/Reference/Schedule/_Actor.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Schedule", + "id":"{{ ID }}", + "actor": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_BasedOn.liquid b/data/Templates/Cda/Reference/ServiceRequest/_BasedOn.liquid new file mode 100644 index 000000000..f3f73a35c --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Encounter.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Encounter.liquid new file mode 100644 index 000000000..4d383bf03 --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Insurance.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Insurance.liquid new file mode 100644 index 000000000..8be3b01f9 --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Insurance.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "insurance": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_LocationReference.liquid b/data/Templates/Cda/Reference/ServiceRequest/_LocationReference.liquid new file mode 100644 index 000000000..741192a6f --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_LocationReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "locationReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Performer.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Performer.liquid new file mode 100644 index 000000000..5bb913d0f --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Performer.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "performer": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_ReasonReference.liquid b/data/Templates/Cda/Reference/ServiceRequest/_ReasonReference.liquid new file mode 100644 index 000000000..b7ff4903b --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_RelevantHistory.liquid b/data/Templates/Cda/Reference/ServiceRequest/_RelevantHistory.liquid new file mode 100644 index 000000000..911364a2e --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_RelevantHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "relevantHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Replaces.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Replaces.liquid new file mode 100644 index 000000000..16a3a9a79 --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Replaces.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "replaces": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Requester.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Requester.liquid new file mode 100644 index 000000000..507a31365 --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Requester.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "requester": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Specimen.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Specimen.liquid new file mode 100644 index 000000000..3e4da227a --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Specimen.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "specimen": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Subject.liquid b/data/Templates/Cda/Reference/ServiceRequest/_Subject.liquid new file mode 100644 index 000000000..f6e77fa20 --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/ServiceRequest/_SupportingInfo.liquid b/data/Templates/Cda/Reference/ServiceRequest/_SupportingInfo.liquid new file mode 100644 index 000000000..a0e4a839e --- /dev/null +++ b/data/Templates/Cda/Reference/ServiceRequest/_SupportingInfo.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "supportingInfo": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Slot/_Schedule.liquid b/data/Templates/Cda/Reference/Slot/_Schedule.liquid new file mode 100644 index 000000000..711e9b60d --- /dev/null +++ b/data/Templates/Cda/Reference/Slot/_Schedule.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Slot", + "id":"{{ ID }}", + "schedule": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Specimen/_Collection_Collector.liquid b/data/Templates/Cda/Reference/Specimen/_Collection_Collector.liquid new file mode 100644 index 000000000..8883fc16f --- /dev/null +++ b/data/Templates/Cda/Reference/Specimen/_Collection_Collector.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "Specimen", + "id":"{{ ID }}", + "collection": + { + "collector": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Specimen/_Container_AdditiveReference.liquid b/data/Templates/Cda/Reference/Specimen/_Container_AdditiveReference.liquid new file mode 100644 index 000000000..57211f03c --- /dev/null +++ b/data/Templates/Cda/Reference/Specimen/_Container_AdditiveReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Specimen", + "id":"{{ ID }}", + "container": + [ + { + "additiveReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Specimen/_Parent.liquid b/data/Templates/Cda/Reference/Specimen/_Parent.liquid new file mode 100644 index 000000000..33645c5a5 --- /dev/null +++ b/data/Templates/Cda/Reference/Specimen/_Parent.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Specimen", + "id":"{{ ID }}", + "parent": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Specimen/_Processing_Additive.liquid b/data/Templates/Cda/Reference/Specimen/_Processing_Additive.liquid new file mode 100644 index 000000000..149b2d429 --- /dev/null +++ b/data/Templates/Cda/Reference/Specimen/_Processing_Additive.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "Specimen", + "id":"{{ ID }}", + "processing": + [ + { + "additive": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Specimen/_Request.liquid b/data/Templates/Cda/Reference/Specimen/_Request.liquid new file mode 100644 index 000000000..ab9ff3e4d --- /dev/null +++ b/data/Templates/Cda/Reference/Specimen/_Request.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Specimen", + "id":"{{ ID }}", + "request": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Specimen/_Subject.liquid b/data/Templates/Cda/Reference/Specimen/_Subject.liquid new file mode 100644 index 000000000..c7690dc05 --- /dev/null +++ b/data/Templates/Cda/Reference/Specimen/_Subject.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Specimen", + "id":"{{ ID }}", + "subject": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Substance/_Ingredient_SubstanceReference.liquid b/data/Templates/Cda/Reference/Substance/_Ingredient_SubstanceReference.liquid new file mode 100644 index 000000000..3114afe66 --- /dev/null +++ b/data/Templates/Cda/Reference/Substance/_Ingredient_SubstanceReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Substance", + "id":"{{ ID }}", + "ingredient": + [ + { + "substanceReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid new file mode 100644 index 000000000..9b8c582b3 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceReferenceInformation", + "id":"{{ ID }}", + "classification": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid new file mode 100644 index 000000000..4939dfbce --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceReferenceInformation", + "id":"{{ ID }}", + "geneElement": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid new file mode 100644 index 000000000..d20c71904 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceReferenceInformation", + "id":"{{ ID }}", + "gene": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Target_Source.liquid b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Target_Source.liquid new file mode 100644 index 000000000..629204a76 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Target_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceReferenceInformation", + "id":"{{ ID }}", + "target": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Code_Source.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Code_Source.liquid new file mode 100644 index 000000000..a4158cf64 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Code_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "code": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Name_Source.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Name_Source.liquid new file mode 100644 index 000000000..239bc2389 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Name_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "name": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_NucleicAcid.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_NucleicAcid.liquid new file mode 100644 index 000000000..5c47d750a --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_NucleicAcid.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "nucleicAcid": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Polymer.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Polymer.liquid new file mode 100644 index 000000000..d62f967f6 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Polymer.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "polymer": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid new file mode 100644 index 000000000..b41b9ccb9 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "property": + [ + { + "definingSubstanceReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Protein.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Protein.liquid new file mode 100644 index 000000000..4af97752e --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Protein.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "protein": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_ReferenceInformation.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_ReferenceInformation.liquid new file mode 100644 index 000000000..2df619d68 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_ReferenceInformation.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "referenceInformation": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_Source.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_Source.liquid new file mode 100644 index 000000000..20159b27e --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_Source.liquid @@ -0,0 +1,17 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "relationship": + [ + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid new file mode 100644 index 000000000..609f06cdc --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "relationship": + [ + { + "substanceReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Source.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Source.liquid new file mode 100644 index 000000000..2778bdcee --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Source.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_SourceMaterial.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_SourceMaterial.liquid new file mode 100644 index 000000000..6e4acd78b --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_SourceMaterial.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "sourceMaterial": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Structure_Source.liquid b/data/Templates/Cda/Reference/SubstanceSpecification/_Structure_Source.liquid new file mode 100644 index 000000000..2cb262a56 --- /dev/null +++ b/data/Templates/Cda/Reference/SubstanceSpecification/_Structure_Source.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "SubstanceSpecification", + "id":"{{ ID }}", + "structure": + { + "source": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_BasedOn.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_BasedOn.liquid new file mode 100644 index 000000000..c8b2686bb --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Destination.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_Destination.liquid new file mode 100644 index 000000000..f04a8d65e --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_Destination.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "destination": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_PartOf.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_PartOf.liquid new file mode 100644 index 000000000..3a24c695a --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Patient.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_Patient.liquid new file mode 100644 index 000000000..ba2a899c9 --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Receiver.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_Receiver.liquid new file mode 100644 index 000000000..635b8e975 --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_Receiver.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "receiver": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid new file mode 100644 index 000000000..d4790eef4 --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "suppliedItem": + { + "itemReference": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Supplier.liquid b/data/Templates/Cda/Reference/SupplyDelivery/_Supplier.liquid new file mode 100644 index 000000000..3ae68d5db --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyDelivery/_Supplier.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyDelivery", + "id":"{{ ID }}", + "supplier": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyRequest/_DeliverFrom.liquid b/data/Templates/Cda/Reference/SupplyRequest/_DeliverFrom.liquid new file mode 100644 index 000000000..176184366 --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyRequest/_DeliverFrom.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyRequest", + "id":"{{ ID }}", + "deliverFrom": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyRequest/_DeliverTo.liquid b/data/Templates/Cda/Reference/SupplyRequest/_DeliverTo.liquid new file mode 100644 index 000000000..2f2013bb9 --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyRequest/_DeliverTo.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyRequest", + "id":"{{ ID }}", + "deliverTo": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyRequest/_ItemReference.liquid b/data/Templates/Cda/Reference/SupplyRequest/_ItemReference.liquid new file mode 100644 index 000000000..3deaf644a --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyRequest/_ItemReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyRequest", + "id":"{{ ID }}", + "itemReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyRequest/_ReasonReference.liquid b/data/Templates/Cda/Reference/SupplyRequest/_ReasonReference.liquid new file mode 100644 index 000000000..be7d2f0ed --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyRequest/_ReasonReference.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "SupplyRequest", + "id":"{{ ID }}", + "reasonReference": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyRequest/_Requester.liquid b/data/Templates/Cda/Reference/SupplyRequest/_Requester.liquid new file mode 100644 index 000000000..4d644c9eb --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyRequest/_Requester.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "SupplyRequest", + "id":"{{ ID }}", + "requester": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/SupplyRequest/_Supplier.liquid b/data/Templates/Cda/Reference/SupplyRequest/_Supplier.liquid new file mode 100644 index 000000000..616e5c547 --- /dev/null +++ b/data/Templates/Cda/Reference/SupplyRequest/_Supplier.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "SupplyRequest", + "id":"{{ ID }}", + "supplier": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_BasedOn.liquid b/data/Templates/Cda/Reference/Task/_BasedOn.liquid new file mode 100644 index 000000000..8eecb9ea9 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_BasedOn.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "basedOn": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Encounter.liquid b/data/Templates/Cda/Reference/Task/_Encounter.liquid new file mode 100644 index 000000000..9e209fc20 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Focus.liquid b/data/Templates/Cda/Reference/Task/_Focus.liquid new file mode 100644 index 000000000..89b9cb8d8 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Focus.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "focus": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_For.liquid b/data/Templates/Cda/Reference/Task/_For.liquid new file mode 100644 index 000000000..0bb56c21c --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_For.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "for": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Input_ValueReference.liquid b/data/Templates/Cda/Reference/Task/_Input_ValueReference.liquid new file mode 100644 index 000000000..e173231dc --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Input_ValueReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "input": + [ + { + "valueReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Insurance.liquid b/data/Templates/Cda/Reference/Task/_Insurance.liquid new file mode 100644 index 000000000..f80554f2e --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Insurance.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "insurance": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Location.liquid b/data/Templates/Cda/Reference/Task/_Location.liquid new file mode 100644 index 000000000..6891ad640 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Location.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "location": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Output_ValueReference.liquid b/data/Templates/Cda/Reference/Task/_Output_ValueReference.liquid new file mode 100644 index 000000000..ef52c3801 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Output_ValueReference.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "output": + [ + { + "valueReference": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Owner.liquid b/data/Templates/Cda/Reference/Task/_Owner.liquid new file mode 100644 index 000000000..7cb198d5b --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Owner.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "owner": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_PartOf.liquid b/data/Templates/Cda/Reference/Task/_PartOf.liquid new file mode 100644 index 000000000..acaa50718 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_PartOf.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "partOf": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_ReasonReference.liquid b/data/Templates/Cda/Reference/Task/_ReasonReference.liquid new file mode 100644 index 000000000..0e73718a4 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_ReasonReference.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "reasonReference": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_RelevantHistory.liquid b/data/Templates/Cda/Reference/Task/_RelevantHistory.liquid new file mode 100644 index 000000000..05657f6b9 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_RelevantHistory.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "relevantHistory": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Requester.liquid b/data/Templates/Cda/Reference/Task/_Requester.liquid new file mode 100644 index 000000000..ab27888ac --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Requester.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "requester": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/Task/_Restriction_Recipient.liquid b/data/Templates/Cda/Reference/Task/_Restriction_Recipient.liquid new file mode 100644 index 000000000..e7a623850 --- /dev/null +++ b/data/Templates/Cda/Reference/Task/_Restriction_Recipient.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "Task", + "id":"{{ ID }}", + "restriction": + { + "recipient": + [ + { + "reference":"{{ REF }}", + }, + ], + }, + }, +}, diff --git a/data/Templates/Cda/Reference/TestReport/_TestScript.liquid b/data/Templates/Cda/Reference/TestReport/_TestScript.liquid new file mode 100644 index 000000000..2875c136e --- /dev/null +++ b/data/Templates/Cda/Reference/TestReport/_TestScript.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "TestReport", + "id":"{{ ID }}", + "testScript": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/TestScript/_Fixture_Resource.liquid b/data/Templates/Cda/Reference/TestScript/_Fixture_Resource.liquid new file mode 100644 index 000000000..cf7336bd4 --- /dev/null +++ b/data/Templates/Cda/Reference/TestScript/_Fixture_Resource.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "TestScript", + "id":"{{ ID }}", + "fixture": + [ + { + "resource": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/TestScript/_Profile.liquid b/data/Templates/Cda/Reference/TestScript/_Profile.liquid new file mode 100644 index 000000000..49ac43510 --- /dev/null +++ b/data/Templates/Cda/Reference/TestScript/_Profile.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "TestScript", + "id":"{{ ID }}", + "profile": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid b/data/Templates/Cda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid new file mode 100644 index 000000000..551304694 --- /dev/null +++ b/data/Templates/Cda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "VerificationResult", + "id":"{{ ID }}", + "attestation": + { + "onBehalfOf": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/VerificationResult/_Attestation_Who.liquid b/data/Templates/Cda/Reference/VerificationResult/_Attestation_Who.liquid new file mode 100644 index 000000000..7b12933cf --- /dev/null +++ b/data/Templates/Cda/Reference/VerificationResult/_Attestation_Who.liquid @@ -0,0 +1,13 @@ +{ + "resource":{ + "resourceType": "VerificationResult", + "id":"{{ ID }}", + "attestation": + { + "who": + { + "reference":"{{ REF }}", + }, + }, + }, +}, diff --git a/data/Templates/Cda/Reference/VerificationResult/_PrimarySource_Who.liquid b/data/Templates/Cda/Reference/VerificationResult/_PrimarySource_Who.liquid new file mode 100644 index 000000000..a3cac0ed7 --- /dev/null +++ b/data/Templates/Cda/Reference/VerificationResult/_PrimarySource_Who.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "VerificationResult", + "id":"{{ ID }}", + "primarySource": + [ + { + "who": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/VerificationResult/_Target.liquid b/data/Templates/Cda/Reference/VerificationResult/_Target.liquid new file mode 100644 index 000000000..8988745eb --- /dev/null +++ b/data/Templates/Cda/Reference/VerificationResult/_Target.liquid @@ -0,0 +1,12 @@ +{ + "resource":{ + "resourceType": "VerificationResult", + "id":"{{ ID }}", + "target": + [ + { + "reference":"{{ REF }}", + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/VerificationResult/_Validator_Organization.liquid b/data/Templates/Cda/Reference/VerificationResult/_Validator_Organization.liquid new file mode 100644 index 000000000..82fe24339 --- /dev/null +++ b/data/Templates/Cda/Reference/VerificationResult/_Validator_Organization.liquid @@ -0,0 +1,15 @@ +{ + "resource":{ + "resourceType": "VerificationResult", + "id":"{{ ID }}", + "validator": + [ + { + "organization": + { + "reference":"{{ REF }}", + }, + }, + ], + }, +}, diff --git a/data/Templates/Cda/Reference/VisionPrescription/_Encounter.liquid b/data/Templates/Cda/Reference/VisionPrescription/_Encounter.liquid new file mode 100644 index 000000000..62ff375bc --- /dev/null +++ b/data/Templates/Cda/Reference/VisionPrescription/_Encounter.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "VisionPrescription", + "id":"{{ ID }}", + "encounter": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/VisionPrescription/_Patient.liquid b/data/Templates/Cda/Reference/VisionPrescription/_Patient.liquid new file mode 100644 index 000000000..76d72f5eb --- /dev/null +++ b/data/Templates/Cda/Reference/VisionPrescription/_Patient.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "VisionPrescription", + "id":"{{ ID }}", + "patient": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Reference/VisionPrescription/_Prescriber.liquid b/data/Templates/Cda/Reference/VisionPrescription/_Prescriber.liquid new file mode 100644 index 000000000..796a1e6da --- /dev/null +++ b/data/Templates/Cda/Reference/VisionPrescription/_Prescriber.liquid @@ -0,0 +1,10 @@ +{ + "resource":{ + "resourceType": "VisionPrescription", + "id":"{{ ID }}", + "prescriber": + { + "reference":"{{ REF }}", + }, + }, +}, diff --git a/data/Templates/Cda/Resource/_AllergyIntolerance.liquid b/data/Templates/Cda/Resource/_AllergyIntolerance.liquid new file mode 100644 index 000000000..a49e428cd --- /dev/null +++ b/data/Templates/Cda/Resource/_AllergyIntolerance.liquid @@ -0,0 +1,59 @@ +{ + "fullUrl":"urn:uuid:{{ID}}", + "resource":{ + "resourceType": "AllergyIntolerance", + "id":"{{ID}}", + "identifier": + [ + {% assign ids = allergyEntry.id | to_array -%} + {% for i in ids -%} + { {% include 'DataType/Identifier' Identifier: i -%} }, + {% endfor -%} + ], + "clinicalStatus": + { + "coding": + [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code":{% include 'ValueSet/AllergyStatus' code: allergyStatus.code -%}, + } + ] + }, + "reaction": + [ + { + "substance":{ {% include 'DataType/CodeableConcept' CodeableConcept: allergyEntry.participant.participantRole.playingEntity.code -%} }, + "substance":{ {% include 'DataType/CodeableConcept' CodeableConcept: allergyEntry.participant.participantRole.playingEntity.code.translation -%} }, + + {% assign relationships = allergyEntry.entryRelationship | to_array -%} + {% for r in relationships -%} + {% if r.observation.templateId | to_json_string | contains: '2.16.840.1.113883.10.20.22.4.9' -%} + "manifestation": + [ + {% if r.observation.value.translation -%} + { {% include 'DataType/CodeableConcept' CodeableConcept: r.observation.value.translation -%} }, + {% else -%} + { {% include 'DataType/CodeableConcept' CodeableConcept: r.observation.value -%} }, + {% endif -%} + ], + "onset": "{{ r.observation.effectiveTime.low.value | format_as_date_time }}", + {% endif -%} + + {% if r.observation.templateId | to_json_string | contains: '2.16.840.1.113883.10.20.22.4.8' -%} + {% if r.observation.value.translation -%} + "severity":{% include 'ValueSet/AllergySeverity' code: r.observation.value.translation.displayName -%}, + {% else -%} + "severity":{% include 'ValueSet/AllergySeverity' code: r.observation.value.displayName -%}, + {% endif -%} + {% endif -%} + {% endfor -%} + }, + ], + "onsetDateTime":"{{ allergyEntry.effectiveTime.low.value | format_as_date_time }}", + }, + "request":{ + "method":"PUT", + "url":"AllergyIntolerance/{{ID}}", + }, +}, \ No newline at end of file diff --git a/data/Templates/Cda/Resource/_Communication.liquid b/data/Templates/Cda/Resource/_Communication.liquid new file mode 100644 index 000000000..27c90c7ae --- /dev/null +++ b/data/Templates/Cda/Resource/_Communication.liquid @@ -0,0 +1,16 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Communication", + "id":"{{ ID }}", + "status":"{{ communicationEntry.statusCode.code }}", + "category": + [ + { {% include 'DataType/CodeableConcept' CodeableConcept: communicationEntry.code -%} }, + ], + }, + "request":{ + "method":"PUT", + "url":"Communication/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Composition.liquid b/data/Templates/Cda/Resource/_Composition.liquid new file mode 100644 index 000000000..3164c37a8 --- /dev/null +++ b/data/Templates/Cda/Resource/_Composition.liquid @@ -0,0 +1,80 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Composition", + "id":"{{ ID }}", + "identifier": + { + "use":"official", + "value":"{{ composition.id.root }}", + }, + "status":"final", + "type": + { + {% assign codes = composition.code | to_array -%} + {% include 'DataType/CodeableConcept' CodeableConcept: codes.first -%} + }, + "date":"{{ composition.effectiveTime.value | format_as_date_time }}", + "title":"{{ composition.title._ }}", + "confidentiality":"{{ composition.confidentialityCode.code }}", + "attester": + [ + { + {% if composition.legalAuthenticator -%} + "mode":"legal", + {% endif -%} + {% if composition.legalAuthenticator -%} + "time":"{{ composition.legalAuthenticator.time.value | format_as_date_time }}", + {% endif -%} + "party": + { + {% if practitionerId -%} + "reference":"Practitioner/{{practitionerId}}", + {% endif -%} + }, + }, + ], + "event": + [ + { + "period": + { + "start":"{{ composition.documentationOf.serviceEvent.effectiveTime.low.value | format_as_date_time }}", + }, + }, + ], + "section": + [ + {% assign components = composition.component.structuredBody.component | to_array -%} + {% for component in components -%} + { + {% if component.section.title._ -%} + "title":"{{ component.section.title._ }}", + {% endif -%} + {% if component.section.title._ == null -%} + "title":"{{ component.section.code.displayName }}", + {% endif -%} + "text": + { + "status":"generated", + {% if component.section.title._ -%} + "div":"
{{ component.section.title._ }}
", + {% endif -%} + {% if component.section.title._ == null -%} + "div":"
{{ component.section.code.displayName }}
", + {% endif -%} + }, + "code": + { + {% include 'DataType/CodeableConcept' CodeableConcept: component.section.code -%} + }, + "mode":"snapshot", + }, + {% endfor -%} + ], + }, + "request":{ + "method":"PUT", + "url":"Composition/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Condition.liquid b/data/Templates/Cda/Resource/_Condition.liquid new file mode 100644 index 000000000..1eb71a9ac --- /dev/null +++ b/data/Templates/Cda/Resource/_Condition.liquid @@ -0,0 +1,49 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Condition", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = conditionEntry.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "clinicalStatus": + { + {% assign entryRelationships = conditionEntry.entryRelationship | to_array -%} + {% for entryRelationship in entryRelationships -%} + {% if entryRelationship.observation.templateId | to_json_string | contains: "2.16.840.1.113883.10.20.22.4.5" -%} + {% include 'DataType/CodeableConcept' CodeableConcept: entryRelationship.observation.value -%} + {% endif -%} + {% endfor -%} + }, + "code": + { + {% assign translations = conditionEntry.value.translation | to_array -%} + {% if translations.first -%} + {% include 'DataType/CodeableConcept' CodeableConcept: translations.first -%} + {% endif -%} + {% if translations.first == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: conditionEntry.value -%} + {% endif -%} + }, + {% if conditionEntry.effectiveTime.low.value -%} + "onsetDateTime":"{{ conditionEntry.effectiveTime.low.value | format_as_date_time }}", + {% endif -%} + "onsetAge": + { + {% assign entryRelationships = conditionEntry.entryRelationship | to_array -%} + {% for entryRelationship in entryRelationships -%} + {% if entryRelationship.observation.templateId | to_json_string | contains: "2.16.840.1.113883.10.20.22.4.31" -%} + {% include 'DataType/CodeableConcept' CodeableConcept: entryRelationship.observation.value.value -%} + {% endif -%} + {% endfor -%} + }, + }, + "request":{ + "method":"PUT", + "url":"Condition/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Consent.liquid b/data/Templates/Cda/Resource/_Consent.liquid new file mode 100644 index 000000000..7a24d3cfe --- /dev/null +++ b/data/Templates/Cda/Resource/_Consent.liquid @@ -0,0 +1,46 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Consent", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = consentEntry.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"active", + "scope": + { + "coding": + [ + { + "system":"http://terminology.hl7.org/CodeSystem/consentscope", + "code":"{{ consentScope }}", + }, + ], + }, + "category": + [ + {% if consentEntry.code.translation -%} + { {% include 'DataType/CodeableConcept' CodeableConcept: consentEntry.code.translation -%} }, + {% endif -%} + {% if consentEntry.code.translation == null -%} + { {% include 'DataType/CodeableConcept' CodeableConcept: consentEntry.code -%} }, + {% endif -%} + ], + "dateTime":"{{ consentEntry.component.observation.effectiveTime.low.value | format_as_date_time }}", + "provision": + { + "code": + { + {% include 'DataType/CodeableConcept' CodeableConcept: consentEntry.component.observation.value -%} + }, + }, + }, + "request":{ + "method":"PUT", + "url":"Consent/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Coverage.liquid b/data/Templates/Cda/Resource/_Coverage.liquid new file mode 100644 index 000000000..33b2c3245 --- /dev/null +++ b/data/Templates/Cda/Resource/_Coverage.liquid @@ -0,0 +1,23 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Coverage", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = payerEntry.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"{{ payerEntry.statusCode.code | get_property: 'ValueSet/FMStatus' }}", + "relationship": + { + {% include 'DataType/CodeableConcept' CodeableConcept: payerEntry.code -%} + }, + }, + "request":{ + "method":"PUT", + "url":"Coverage/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Device.liquid b/data/Templates/Cda/Resource/_Device.liquid new file mode 100644 index 000000000..e4ee36329 --- /dev/null +++ b/data/Templates/Cda/Resource/_Device.liquid @@ -0,0 +1,34 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Device", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = author.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "type": + { + "coding": + [ + { + "display":"{{ author.assignedAuthoringDevice.manufacturerModelName._ }}", + }, + ], + }, + "manufacturer":"{{ author.assignedAuthoringDevice.manufacturerModelName._ }}", + "version": + [ + { + "value":"{{ author.assignedAuthoringDevice.softwareName._ }}", + }, + ], + }, + "request":{ + "method":"PUT", + "url":"Device/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_DiagnosticReport.liquid b/data/Templates/Cda/Resource/_DiagnosticReport.liquid new file mode 100644 index 000000000..1df7c8b90 --- /dev/null +++ b/data/Templates/Cda/Resource/_DiagnosticReport.liquid @@ -0,0 +1,34 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "DiagnosticReport", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = diagnosticReport.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"{{ diagnosticReport.statusCode.code | get_property: 'ValueSet/DiagnosticReportStatus' }}", + "code": + { + {% if diagReport.code.translation -%} + {% include 'DataType/CodeableConcept' CodeableConcept: diagnosticReport.code.translation -%} + {% endif -%} + {% if diagReport.code.translation == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: diagnosticReport.code -%} + {% endif -%} + }, + "effectivePeriod": + { + "start":"{{ diagnosticReport.effectiveTime.low.value | format_as_date_time }}", + "end":"{{ diagnosticReport.effectiveTime.high.value | format_as_date_time }}", + }, + "effectiveDateTime":"{{ diagnosticReport.effectiveTime.value | format_as_date_time }}", + }, + "request":{ + "method":"PUT", + "url":"DiagnosticReport/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_DocumentReference.liquid b/data/Templates/Cda/Resource/_DocumentReference.liquid new file mode 100644 index 000000000..ba4114d2e --- /dev/null +++ b/data/Templates/Cda/Resource/_DocumentReference.liquid @@ -0,0 +1,29 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "DocumentReference", + "id":"{{ ID }}", + "type": + { + {% assign codes = documentReference.ClinicalDocument.code | to_array -%} + {% include 'DataType/CodeableConcept' CodeableConcept: codes.first -%} + }, + "date":"{{ "" | now }}", + "status":"current", + "content": + [ + { + "attachment": + { + "contentType":"text/plain", + "data":"{{ documentReference._originalData | gzip }}", + "hash":"{{ documentReference._originalData | gzip | sha1_hash | base64_encode }}", + }, + }, + ], + }, + "request":{ + "method":"PUT", + "url":"DocumentReference/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Encounter.liquid b/data/Templates/Cda/Resource/_Encounter.liquid new file mode 100644 index 000000000..eb7993132 --- /dev/null +++ b/data/Templates/Cda/Resource/_Encounter.liquid @@ -0,0 +1,53 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Encounter", + "id":"{{ ID }}", + {% if encounter.statusCode.code -%} + "status":"{{ encounter.statusCode.code | get_property: 'ValueSet/EncounterStatus' }}", + {% endif -%} + {% if encounter.statusCode.code == null -%} + "status":"unknown", + {% endif -%} + "class": + { + {% assign translations = encounter.code.translation | to_array -%} + {% if translations.first -%} + {% include 'DataType/Coding' Coding: translations.first -%} + {% endif -%} + {% if translations.first == null -%} + {% include 'DataType/Coding' Coding: encounter.code -%} + {% endif -%} + }, + "type": + [ + { {% include 'DataType/CodeableConcept' CodeableConcept: encounter.code -%} }, + ], + "identifier": + [ + {% assign ids = encounter.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "period": + { + {% include 'DataType/Period' Period: encounter.effectiveTime -%} + }, + "priority": + { + {% include 'DataType/CodeableConcept' CodeableConcept: encounter.priorityCode -%} + }, + "hospitalization": + { + "dischargeDisposition": + { + {% include 'DataType/CodeableConcept' CodeableConcept: encounter.dischargeDispositionCode -%} + }, + }, + }, + "request":{ + "method":"PUT", + "url":"Encounter/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Goal.liquid b/data/Templates/Cda/Resource/_Goal.liquid new file mode 100644 index 000000000..952d882a0 --- /dev/null +++ b/data/Templates/Cda/Resource/_Goal.liquid @@ -0,0 +1,48 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Goal", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = goalEntry.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "description": + { + {% include 'DataType/CodeableConcept' CodeableConcept: goalEntry.code -%} + }, + "lifecycleStatus":"{{ goalEntry.statusCode.code }}", + "priority": + { + {% assign values = goalEntry.entryRelationship.observation.value | to_array -%} + {% include 'DataType/CodeableConcept' CodeableConcept: values.first -%} + }, + "target": + [ + { + "measure": + { + {% if goalEntry.code.translation -%} + {% include 'DataType/CodeableConcept' CodeableConcept: goalEntry.code.translation -%} + {% endif -%} + {% if goalEntry.code.translation == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: goalEntry.code -%} + {% endif -%} + }, + "detailQuantity": + { + "value":"{{ goalEntry.value.low.value }}", + "unit":"{{ goalEntry.value.low.unit }}", + }, + "dueDate":"{{ goalEntry.effectiveTime.value | add_hyphens_date }}", + }, + ], + }, + "request":{ + "method":"PUT", + "url":"Goal/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Location.liquid b/data/Templates/Cda/Resource/_Location.liquid new file mode 100644 index 000000000..de6fbd6f4 --- /dev/null +++ b/data/Templates/Cda/Resource/_Location.liquid @@ -0,0 +1,37 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Location", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = location.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "name":"{{ location.playingEntity.name._ }}", + "address": + { + {% include 'DataType/Address' Address: location.addr -%} + }, + "telecom": + [ + {% assign telecoms = location.telecom | to_array -%} + {% for telecom in telecoms -%} + { {% include 'DataType/ContactPoint' ContactPoint: telecom -%} }, + {% endfor -%} + ], + "type": + [ + {% assign codes = location.code | to_array -%} + {% for code in codes -%} + { {% include 'DataType/CodeableConcept' CodeableConcept: code -%} }, + {% endfor -%} + ], + }, + "request":{ + "method":"PUT", + "url":"Location/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Medication.liquid b/data/Templates/Cda/Resource/_Medication.liquid new file mode 100644 index 000000000..9597b81ef --- /dev/null +++ b/data/Templates/Cda/Resource/_Medication.liquid @@ -0,0 +1,21 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Medication", + "id":"{{ ID }}", + "code": + { + {% assign translations = medication.code.translation | to_array -%} + {% if translations.first -%} + {% include 'DataType/CodeableConcept' CodeableConcept: translations.first -%} + {% endif -%} + {% if translations.first == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: medication.code -%} + {% endif -%} + }, + }, + "request":{ + "method":"PUT", + "url":"Medication/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_MedicationAdministration.liquid b/data/Templates/Cda/Resource/_MedicationAdministration.liquid new file mode 100644 index 000000000..cd05d499f --- /dev/null +++ b/data/Templates/Cda/Resource/_MedicationAdministration.liquid @@ -0,0 +1,41 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "MedicationAdministration", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = medicationAdministration.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"{{ medicationAdministration.statusCode.code }}", + "effectivePeriod": + { + "start":"{{ medicationAdministration.effectiveTime.low.value | format_as_date_time }}", + "end":"{{ medicationAdministration.effectiveTime.high.value | format_as_date_time }}", + }, + "dosage": + { + "route": + { + {% include 'DataType/CodeableConcept' CodeableConcept: medicationAdministration.routeCode -%} + }, + "dose": + { + "value":"{{ medicationAdministration.doseQuantity.value }}", + "unit":"{{ medicationAdministration.doseQuantity.unit }}", + }, + "rateQuantity": + { + "value":"{{ medicationAdministration.rateQuantity.value }}", + "unit":"{{ medicationAdministration.rateQuantity.unit }}", + }, + }, + }, + "request":{ + "method":"PUT", + "url":"MedicationAdministration/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_MedicationDispense.liquid b/data/Templates/Cda/Resource/_MedicationDispense.liquid new file mode 100644 index 000000000..f267be9be --- /dev/null +++ b/data/Templates/Cda/Resource/_MedicationDispense.liquid @@ -0,0 +1,25 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "MedicationDispense", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = medicationDispense.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"{{ medicationDispense.statusCode.code }}", + "whenPrepared":"{{ medicationDispense.effectiveTime.value | format_as_date_time }}", + "quantity": + { + "value":"{{ medicationDispense.quantity.value }}", + "unit":"{{ medicationDispense.quantity.unit }}", + }, + }, + "request":{ + "method":"PUT", + "url":"MedicationDispense/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_MedicationRequest.liquid b/data/Templates/Cda/Resource/_MedicationRequest.liquid new file mode 100644 index 000000000..b40b3c9a7 --- /dev/null +++ b/data/Templates/Cda/Resource/_MedicationRequest.liquid @@ -0,0 +1,20 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "MedicationRequest", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = medicationRequest.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "intent":"order", + "status":"{{ medicationRequest.statusCode.code }}", + }, + "request":{ + "method":"PUT", + "url":"MedicationRequest/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_MedicationStatement.liquid b/data/Templates/Cda/Resource/_MedicationStatement.liquid new file mode 100644 index 000000000..8dfdec27d --- /dev/null +++ b/data/Templates/Cda/Resource/_MedicationStatement.liquid @@ -0,0 +1,39 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "MedicationStatement", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = medicationStatement.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"{{ medicationStatement.statusCode.code | get_property: 'ValueSet/MedicationStatementStatus' }}", + "effectivePeriod": + { + "start":"{{ medicationStatement.effectiveTime.low.value | format_as_date_time }}", + "end":"{{ medicationStatement.effectiveTime.high.value | format_as_date_time }}", + }, + "dosage": + [ + { + "doseAndRate": + [ + { + "doseQuantity": + { + "value":"{{ medicationStatement.doseQuantity.value }}", + "unit":"{{ medicationStatement.doseQuantity.unit }}", + }, + }, + ], + }, + ], + }, + "request":{ + "method":"PUT", + "url":"MedicationStatement/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Observation.liquid b/data/Templates/Cda/Resource/_Observation.liquid new file mode 100644 index 000000000..ca1dbe861 --- /dev/null +++ b/data/Templates/Cda/Resource/_Observation.liquid @@ -0,0 +1,104 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Observation", + "id":"{{ ID }}", + "meta": + { + "profile": + [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults", + ], + }, + "identifier": + [ + {% assign ids = observationEntry.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "category": + [ + { + "coding": + [ + { + {% if observationCategory -%} + "system":"http://terminology.hl7.org/CodeSystem/observation-category", + {% endif -%} + {% if observationCategory -%} + "code":"{{ observationCategory }}", + {% endif -%} + }, + ], + }, + ], + "status":"{{ observationEntry.statusCode.code | get_property: 'ValueSet/ObservationStatus' }}", + "code": + { + {% if observationEntry.code.translation.code -%} + {% include 'DataType/CodeableConcept' CodeableConcept: observationEntry.code.translation -%} + {% endif -%} + {% if observationEntry.code.translation.code == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: observationEntry.code -%} + {% endif -%} + }, + "effectivePeriod": + { + {% if observationEntry.effectiveTime.low.value -%} + "start":"{{ observationEntry.effectiveTime.low.value | format_as_date_time }}", + {% endif -%} + {% if observationEntry.effectiveTime.low.value -%} + "end":"{{ observationEntry.effectiveTime.high.value | format_as_date_time }}", + {% endif -%} + }, + {% if observationEntry.effectiveTime.low.value == null -%} + "effectiveDateTime":"{{ observationEntry.effectiveTime.value | format_as_date_time }}", + {% endif -%} + "bodySite": + { + {% include 'DataType/CodeableConcept' CodeableConcept: observationEntry.targetSiteCode -%} + }, + "valueCodeableConcept": + { + {% if observationEntry.value.code -%} + {% include 'DataType/CodeableConcept' CodeableConcept: observationEntry.value -%} + {% endif -%} + }, + "valueQuantity": + { + {% if observationEntry.value.value -%} + "value":"{{ observationEntry.value.value }}", + {% endif -%} + {% if observationEntry.value.value -%} + "unit":"{{ observationEntry.value.unit }}", + {% endif -%} + }, + {% if observationEntry.value.code == null and observationEntry.value.value == null -%} + "valueString":"{{ observationEntry.value._ }}", + {% endif -%} + "referenceRange": + [ + { + "low": + { + "value":"{{ observationEntry.referenceRange.observationRange.value.low.value }}", + "unit":"{{ observationEntry.referenceRange.observationRange.value.low.unit }}", + }, + "high": + { + "value":"{{ observationEntry.referenceRange.observationRange.value.high.value }}", + "unit":"{{ observationEntry.referenceRange.observationRange.value.high.unit }}", + }, + }, + ], + "interpretation": + [ + { {% include 'DataType/CodeableConcept' CodeableConcept: observationEntry.interpretationCode -%} }, + ], + }, + "request":{ + "method":"PUT", + "url":"Observation/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Organization.liquid b/data/Templates/Cda/Resource/_Organization.liquid new file mode 100644 index 000000000..de0304750 --- /dev/null +++ b/data/Templates/Cda/Resource/_Organization.liquid @@ -0,0 +1,33 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Organization", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = organization.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "name":"{{ organization.name._ }}", + "address": + [ + {% assign addrs = organization.addr | to_array -%} + {% for addr in addrs -%} + { {% include 'DataType/Address' Address: addr -%} }, + {% endfor -%} + ], + "telecom": + [ + {% assign telecoms = organization.telecom | to_array -%} + {% for telecom in telecoms -%} + { {% include 'DataType/ContactPoint' ContactPoint: telecom -%} }, + {% endfor -%} + ], + }, + "request":{ + "method":"PUT", + "url":"Organization/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Patient.liquid b/data/Templates/Cda/Resource/_Patient.liquid new file mode 100644 index 000000000..021d31247 --- /dev/null +++ b/data/Templates/Cda/Resource/_Patient.liquid @@ -0,0 +1,73 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Patient", + "id":"{{ ID }}", + "meta": + { + "profile": + [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient", + ], + }, + "identifier": + [ + {% assign ids = patientRole.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "name": + [ + {% assign names = patientRole.patient.name | to_array -%} + {% for name in names -%} + { {% include 'DataType/HumanName' HumanName: name -%} }, + {% endfor -%} + ], + "birthDate":"{{ patientRole.patient.birthTime.value | add_hyphens_date }}", + "gender":"{{ patientRole.patient.administrativeGenderCode.displayName | downcase }}", + "extension": + [ + { {% include 'Extension/Race' Race: patientRole.patient -%} }, + { {% include 'Extension/Ethnicity' Ethnicity: patientRole.patient -%} }, + ], + "address": + [ + {% assign addrs = patientRole.addr | to_array -%} + {% for addr in addrs -%} + { {% include 'DataType/Address' Address: addr -%} }, + {% endfor -%} + ], + "telecom": + [ + {% assign telecoms = patientRole.telecom | to_array -%} + {% for telecom in telecoms -%} + { {% include 'DataType/ContactPoint' ContactPoint: telecom -%} }, + {% endfor -%} + ], + "communication": + [ + {% assign languageCommunications = patientRole.patient.languageCommunication | to_array -%} + {% for languageCommunication in languageCommunications -%} + { + "language": + { + "coding": + [ + { + "system":"urn:ietf:bcp:47", + "code":"{{ languageCommunication.languageCode.code }}", + "display":"{{ languageCommunication.languageCode.code | get_property: 'ValueSet/Language' }}", + }, + ], + }, + "preferred":"{{ languageCommunication.preferenceInd.value }}", + }, + {% endfor -%} + ], + }, + "request":{ + "method":"PUT", + "url":"Patient/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Practitioner.liquid b/data/Templates/Cda/Resource/_Practitioner.liquid new file mode 100644 index 000000000..fdc42bd26 --- /dev/null +++ b/data/Templates/Cda/Resource/_Practitioner.liquid @@ -0,0 +1,55 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Practitioner", + "id":"{{ ID }}", + "meta": + { + "profile": + [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner", + ], + }, + "identifier": + [ + {% assign ids = practitioner.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "name": + [ + {% assign names = practitioner.assignedPerson.name | to_array -%} + {% for name in names -%} + { {% include 'DataType/HumanName' HumanName: name -%} }, + {% endfor -%} + ], + "address": + [ + {% assign addrs = practitioner.addr | to_array -%} + {% for addr in addrs -%} + { {% include 'DataType/Address' Address: addr -%} }, + {% endfor -%} + ], + "telecom": + [ + {% assign telecoms = practitioner.telecom | to_array -%} + {% for telecom in telecoms -%} + { {% include 'DataType/ContactPoint' ContactPoint: telecom -%} }, + {% endfor -%} + ], + "qualification": + [ + {% assign codes = practitioner.code | to_array -%} + {% for code in codes -%} + { + "code": { {% include 'DataType/CodeableConcept' CodeableConcept: code -%} }, + }, + {% endfor -%} + ], + }, + "request":{ + "method":"PUT", + "url":"Practitioner/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_Procedure.liquid b/data/Templates/Cda/Resource/_Procedure.liquid new file mode 100644 index 000000000..e3a442749 --- /dev/null +++ b/data/Templates/Cda/Resource/_Procedure.liquid @@ -0,0 +1,37 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "Procedure", + "id":"{{ ID }}", + "meta": + { + "profile": + [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-procedure", + ], + }, + "identifier": + [ + { {% include 'DataType/Identifier' Identifier: procedureEntry.id -%} }, + ], + "status":"{{ procedureEntry.statusCode.code }}", + "code": + { + {% if procedureEntry.code.translation -%} + {% include 'DataType/CodeableConcept' CodeableConcept: procedureEntry.code.translation -%} + {% endif -%} + {% if procedureEntry.code.translation == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: procedureEntry.code -%} + {% endif -%} + }, + "performedDateTime":"{{ procedureEntry.effectiveTime.value | format_as_date_time }}", + "bodySite": + [ + { {% include 'DataType/CodeableConcept' CodeableConcept: procedureEntry.targetSiteCode -%} }, + ], + }, + "request":{ + "method":"PUT", + "url":"Procedure/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_RelatedPerson.liquid b/data/Templates/Cda/Resource/_RelatedPerson.liquid new file mode 100644 index 000000000..0a13c5de8 --- /dev/null +++ b/data/Templates/Cda/Resource/_RelatedPerson.liquid @@ -0,0 +1,64 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "RelatedPerson", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = relatedPerson.id | to_array -%} + {% for id in ids -%} + {% endfor -%} + ], + "relationship": + [ + { {% include 'DataType/CodeableConcept' CodeableConcept: relatedPerson.code -%} }, + ], + "name": + [ + {% assign names = relatedPerson.guardianPerson.name | to_array -%} + {% for name in names -%} + { {% include 'DataType/HumanName' HumanName: name -%} }, + {% endfor -%} + ], + "telecom": + [ + {% assign telecoms = relatedPerson.telecom | to_array -%} + {% for telecom in telecoms -%} + { {% include 'DataType/ContactPoint' ContactPoint: telecom -%} }, + {% endfor -%} + ], + "birthDate":"{{ relatedPerson.guardianPerson.birthTime.value | add_hyphens_date }}", + "gender":"{{ relatedPerson.guardianPerson.administrativeGenderCode.displayName | downcase }}", + "address": + [ + {% assign addrs = relatedPerson.addr | to_array -%} + {% for addr in addrs -%} + { {% include 'DataType/Address' Address: addr -%} }, + {% endfor -%} + ], + "communication": + [ + {% assign languageCommunications = relatedPerson.guardianPerson.languageCommunication | to_array -%} + {% for languageCommunication in languageCommunications -%} + { + "language": + { + "coding": + [ + { + "system":"http://hl7.org/fhir/ValueSet/languages", + "code":"{{ languageCommunication.languageCode.code }}", + "display":"{{ languageCommunication.languageCode.code | get_property: 'ValueSet/Language' }}", + }, + ], + }, + "preferred":"{{ languageCommunication.preferenceInd.value }}", + }, + {% endfor -%} + ], + }, + "request":{ + "method":"PUT", + "url":"RelatedPerson/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Resource/_ServiceRequest.liquid b/data/Templates/Cda/Resource/_ServiceRequest.liquid new file mode 100644 index 000000000..3d676d150 --- /dev/null +++ b/data/Templates/Cda/Resource/_ServiceRequest.liquid @@ -0,0 +1,29 @@ +{ + "fullUrl":"urn:uuid:{{ ID }}", + "resource":{ + "resourceType": "ServiceRequest", + "id":"{{ ID }}", + "identifier": + [ + {% assign ids = serviceEntry.id | to_array -%} + {% for id in ids -%} + { {% include 'DataType/Identifier' Identifier: id -%} }, + {% endfor -%} + ], + "status":"{{ serviceEntry.statusCode.code | get_property: 'ValueSet/RequestStatus' }}", + "code": + { + {% if serviceEntry.code.translation -%} + {% include 'DataType/CodeableConcept' CodeableConcept: serviceEntry.code.translation -%} + {% endif -%} + {% if serviceEntry.code.translation == null -%} + {% include 'DataType/CodeableConcept' CodeableConcept: serviceEntry.code -%} + {% endif -%} + }, + "priority":"{{ serviceEntry.priorityCode.displayName }}", + }, + "request":{ + "method":"PUT", + "url":"ServiceRequest/{{ ID }}", + }, +}, diff --git a/data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid b/data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid new file mode 100644 index 000000000..c53e418d1 --- /dev/null +++ b/data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid @@ -0,0 +1,12 @@ +{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.6.1' -%} +{% assign entries = firstSections.2_16_840_1_113883_10_20_22_2_6_1.entry | to_array -%} +{% for e in entries -%} + {% assign relationships = e.act.entryRelationship | to_array -%} + {% for r in relationships -%} + {% if r.observation.templateId | to_json_string | contains: '2.16.840.1.113883.10.20.22.4.7' -%} + {% assign allergyId = r.observation | to_json_string | generate_uuid -%} + {% include 'Resource/AllergyIntolerance' allergyStatus: e.act.statusCode, allergyEntry: r.observation, ID: allergyId -%} + {% include 'Reference/AllergyIntolerance/Patient' ID: allergyId, REF: fullPatientId -%} + {% endif -%} + {% endfor -%} +{% endfor -%} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_Medication.liquid b/data/Templates/Cda/Section/_Medication.liquid new file mode 100644 index 000000000..2342f8d46 --- /dev/null +++ b/data/Templates/Cda/Section/_Medication.liquid @@ -0,0 +1,2 @@ +{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.1.1' -%} +{{ firstSections.2_16_840_1_113883_10_20_22_2_1_1.entry | to_array | batch_render: 'Entry/Medication/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_Problem.liquid b/data/Templates/Cda/Section/_Problem.liquid new file mode 100644 index 000000000..4bba6c5a7 --- /dev/null +++ b/data/Templates/Cda/Section/_Problem.liquid @@ -0,0 +1,2 @@ +{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.5.1' -%} +{{ firstSections.2_16_840_1_113883_10_20_22_2_5_1.entry | to_array | batch_render: 'Entry/Problem/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_Results.liquid b/data/Templates/Cda/Section/_Results.liquid new file mode 100644 index 000000000..4e7f38945 --- /dev/null +++ b/data/Templates/Cda/Section/_Results.liquid @@ -0,0 +1,2 @@ +{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.3.1' -%} +{{ firstSections.2_16_840_1_113883_10_20_22_2_3_1.entry | to_array | batch_render: 'Entry/Results/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_SocialHistory.liquid b/data/Templates/Cda/Section/_SocialHistory.liquid new file mode 100644 index 000000000..33c2f5c7d --- /dev/null +++ b/data/Templates/Cda/Section/_SocialHistory.liquid @@ -0,0 +1,2 @@ +{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.17' -%} +{{ firstSections.2_16_840_1_113883_10_20_22_2_17.entry | to_array | batch_render: 'Entry/SocialHistory/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_VitalSigns.liquid b/data/Templates/Cda/Section/_VitalSigns.liquid new file mode 100644 index 000000000..319fe869f --- /dev/null +++ b/data/Templates/Cda/Section/_VitalSigns.liquid @@ -0,0 +1,2 @@ +{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.4.1' -%} +{{ firstSections.2_16_840_1_113883_10_20_22_2_4_1.entry | to_array | batch_render: 'Entry/VitalSigns/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Utils/_GenerateId.liquid b/data/Templates/Cda/Utils/_GenerateId.liquid new file mode 100644 index 000000000..d18c75be1 --- /dev/null +++ b/data/Templates/Cda/Utils/_GenerateId.liquid @@ -0,0 +1,8 @@ +{% assign ids = obj.id | to_array %} +{% if ids.first.root and ids.first.extension -%} +{{ ids.first.root | append: '|' | append: ids.first.extension | generate_uuid }} +{% elsif ids.first.root -%} +{{ ids.first.root | generate_uuid }} +{% else -%} +{{ obj.id }} +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/ValueSet.json b/data/Templates/Cda/ValueSet/ValueSet.json new file mode 100644 index 000000000..660b86e2c --- /dev/null +++ b/data/Templates/Cda/ValueSet/ValueSet.json @@ -0,0 +1,340 @@ +{ + "Mapping": { + "ValueSet/AddressUse": { + "HP": { + "code": "home" + }, + "H": { + "code": "home" + }, + "WP": { + "code": "work" + }, + "TMP": { + "code": "temp" + }, + "BAD": { + "code": "old" + } + }, + "ValueSet/AllergyCategory": { + "416098002": { + "code": "medication" + }, + "59037007": { + "code": "medication" + }, + "419511003": { + "code": "medication" + }, + "414285001": { + "code": "food" + }, + "232347008": { + "code": "environment" + }, + "420134006": { + "code": "other" + }, + "418038007": { + "code": "other" + }, + "419199007": { + "code": "other" + } + }, + "ValueSet/AllergySeverity": { + "fatal": { + "code": "severe" + }, + "mild": { + "code": "mild" + } + }, + "ValueSet/AllergyStatus": { + "active": { + "code": "active" + }, + "aborted": { + "code": "resolved" + }, + "completed": { + "code": "resolved" + }, + "suspended": { + "code": "inactive" + } + }, + "ValueSet/CompositionStatus": { + "draft": { + "code": "preliminary" + }, + "preliminary": { + "code": "preliminary" + }, + "final": { + "code": "final" + }, + "completed": { + "code": "final" + }, + "amended": { + "code": "amended" + }, + "replaced": { + "code": "amended" + }, + "error": { + "code": "entered-in-error" + } + }, + "ValueSet/DiagnosticReportStatus": { + "registered": { + "code": "registered" + }, + "received": { + "code": "registered" + }, + "preliminary": { + "code": "preliminary" + }, + "final": { + "code": "final" + }, + "completed": { + "code": "final" + }, + "amended": { + "code": "amended" + }, + "corrected": { + "code": "corrected" + }, + "appended": { + "code": "appended" + }, + "cancelled": { + "code": "cancelled" + }, + "abandoned": { + "code": "cancelled" + }, + "error": { + "code": "entered-in-error" + }, + "unknown": { + "code": "unknown" + } + }, + "ValueSet/EncounterStatus": { + "planned": { + "code": "planned" + }, + "arrived": { + "code": "arrived" + }, + "triaged": { + "code": "triaged" + }, + "accepted": { + "code": "triaged" + }, + "active": { + "code": "in-progress" + }, + "onleave": { + "code": "onleave" + }, + "suspended": { + "code": "onleave" + }, + "normal": { + "code": "finished" + }, + "complete": { + "code": "finished" + }, + "finished": { + "code": "finished" + }, + "cancelled": { + "code": "cancelled" + }, + "abandoned": { + "code": "cancelled" + }, + "error": { + "code": "entered-in-error" + }, + "unknown": { + "code": "unknown" + } + }, + "ValueSet/EventStatus": { + "preparation": { + "code": "preparation" + }, + "planned": { + "code": "preparation" + }, + "active": { + "code": "in-progress" + }, + "abandoned": { + "code": "not-done" + }, + "suspended": { + "code": "on-hold" + }, + "failed": { + "code": "stopped" + }, + "stopped": { + "code": "stopped" + }, + "completed": { + "code": "completed" + }, + "complete": { + "code": "completed" + }, + "error": { + "code": "entered-in-error" + }, + "unknown": { + "code": "unknown" + } + }, + "ValueSet/FMStatus": { + "active": { + "code": "active" + }, + "cancelled": { + "code": "cancelled" + }, + "abandonded": { + "code": "cancelled" + }, + "error": { + "code": "entered-in-error" + }, + "draft": { + "code": "draft" + } + }, + "ValueSet/Language": { + "en": { + "code": "English" + }, + "es": { + "code": "Spanish" + }, + "de": { + "code": "German" + }, + "da": { + "code": "Danish" + }, + "fr": { + "code": "French" + } + }, + "ValueSet/MedicationStatementStatus": { + "aborted": { + "code": "stopped" + } + }, + "ValueSet/NameUse": { + "C": { + "code": "usual" + }, + "L": { + "code": "usual" + }, + "P": { + "code": "nickname" + } + }, + "ValueSet/ObservationStatus": { + "registered": { + "code": "registered" + }, + "received": { + "code": "registered" + }, + "preliminary": { + "code": "preliminary" + }, + "final": { + "code": "final" + }, + "completed": { + "code": "final" + }, + "amended": { + "code": "amended" + }, + "corrected": { + "code": "corrected" + }, + "cancelled": { + "code": "cancelled" + }, + "abandoned": { + "code": "cancelled" + }, + "error": { + "code": "entered-in-error" + }, + "unknown": { + "code": "unknown" + } + }, + "ValueSet/RequestStatus": { + "draft": { + "code": "draft" + }, + "active": { + "code": "active" + }, + "suspended": { + "code": "on-hold" + }, + "failed": { + "code": "revoked" + }, + "revoked": { + "code": "revoked" + }, + "completed": { + "code": "completed" + }, + "error": { + "code": "entered-in-error" + }, + "unknown": { + "code": "unknown" + } + }, + "ValueSet/TelecomUse": { + "HP": { + "code": "home" + }, + "H": { + "code": "home" + }, + "WP": { + "code": "work" + }, + "TMP": { + "code": "temp" + }, + "BAD": { + "code": "old" + }, + "MC": { + "code": "mobile" + } + } + } +} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_AddressUse.liquid b/data/Templates/Cda/ValueSet/_AddressUse.liquid new file mode 100644 index 000000000..74437a18f --- /dev/null +++ b/data/Templates/Cda/ValueSet/_AddressUse.liquid @@ -0,0 +1,13 @@ +{% if code == 'HP' -%} +"home", +{% elsif code == 'H' -%} +"home", +{% elsif code == 'WP' -%} +"work", +{% elsif code == 'TMP' -%} +"temp", +{% elsif code == 'BAD' -%} +"old", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_AllergyCategory.liquid b/data/Templates/Cda/ValueSet/_AllergyCategory.liquid new file mode 100644 index 000000000..a574712a0 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_AllergyCategory.liquid @@ -0,0 +1,19 @@ +{% if code == '416098002' -%} +"medication", +{% elsif code == '59037007' -%} +"medication", +{% elsif code == '419511003' -%} +"medication", +{% elsif code == '414285001' -%} +"food", +{% elsif code == '232347008' -%} +"environment", +{% elsif code == '420134006' -%} +"other", +{% elsif code == '418038007' -%} +"other", +{% elsif code == '419199007' -%} +"other", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_AllergySeverity.liquid b/data/Templates/Cda/ValueSet/_AllergySeverity.liquid new file mode 100644 index 000000000..6bc2f2dad --- /dev/null +++ b/data/Templates/Cda/ValueSet/_AllergySeverity.liquid @@ -0,0 +1,11 @@ +{% if code == 'fatal' -%} +"severe", +{% elsif code == 'moderate to severe' -%} +"severe", +{% elsif code == 'mild to moderate' -%} +"moderate", +{% elsif code == 'mild' -%} +"mild", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_AllergyStatus.liquid b/data/Templates/Cda/ValueSet/_AllergyStatus.liquid new file mode 100644 index 000000000..a68d27e19 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_AllergyStatus.liquid @@ -0,0 +1,11 @@ +{% if code == 'active' -%} +"active", +{% elsif code == 'aborted' -%} +"resolved", +{% elsif code == 'completed' -%} +"resolved", +{% elsif code == 'suspended' -%} +"inactive", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_CompositionStatus.liquid b/data/Templates/Cda/ValueSet/_CompositionStatus.liquid new file mode 100644 index 000000000..1fa2e341c --- /dev/null +++ b/data/Templates/Cda/ValueSet/_CompositionStatus.liquid @@ -0,0 +1,19 @@ +{% if code == 'draft' -%} +"preliminary", +{% elsif code == 'preliminary' -%} +"preliminary", +{% elsif code == 'final' -%} +"final", +{% elsif code == 'completed' -%} +"final", +{% elsif code == 'amended' -%} +"amended", +{% elsif code == 'replaced' -%} +"amended", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'error' -%} +"entered-in-error", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_DiagnosticReportStatus.liquid b/data/Templates/Cda/ValueSet/_DiagnosticReportStatus.liquid new file mode 100644 index 000000000..e4f3835e6 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_DiagnosticReportStatus.liquid @@ -0,0 +1,29 @@ +{% if code == 'registered' -%} +"registered", +{% elsif code == 'received' -%} +"registered", +{% elsif code == 'preliminary' -%} +"preliminary", +{% elsif code == 'final' -%} +"final", +{% elsif code == 'completed' -%} +"final", +{% elsif code == 'amended' -%} +"amended", +{% elsif code == 'corrected' -%} +"corrected", +{% elsif code == 'appended' -%} +"appended", +{% elsif code == 'cancelled' -%} +"cancelled", +{% elsif code == 'abandoned' -%} +"cancelled", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'error' -%} +"entered-in-error", +{% elsif code == 'unknown' -%} +"unknown", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_EncounterStatus.liquid b/data/Templates/Cda/ValueSet/_EncounterStatus.liquid new file mode 100644 index 000000000..0e80bbd9b --- /dev/null +++ b/data/Templates/Cda/ValueSet/_EncounterStatus.liquid @@ -0,0 +1,33 @@ +{% if code == 'planned' -%} +"planned", +{% elsif code == 'arrived' -%} +"arrived", +{% elsif code == 'triaged' -%} +"triaged", +{% elsif code == 'accepted' -%} +"triaged", +{% elsif code == 'active' -%} +"in-progress", +{% elsif code == 'onleave' -%} +"onleave", +{% elsif code == 'suspended' -%} +"onleave", +{% elsif code == 'normal' -%} +"finished", +{% elsif code == 'complete' -%} +"finished", +{% elsif code == 'finished' -%} +"finished", +{% elsif code == 'cancelled' -%} +"cancelled", +{% elsif code == 'abandoned' -%} +"cancelled", +{% elsif code == 'error' -%} +"entered-in-error", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'unknown' -%} +"unknown", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_EventStatus.liquid b/data/Templates/Cda/ValueSet/_EventStatus.liquid new file mode 100644 index 000000000..cc7711519 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_EventStatus.liquid @@ -0,0 +1,33 @@ +{% if code == 'preparation' -%} +"preparation", +{% elsif code == 'planned' -%} +"preparation", +{% elsif code == 'active' -%} +"in-progress", +{% elsif code == 'in-progress' -%} +"in-progress", +{% elsif code == 'abandoned' -%} +"not-done", +{% elsif code == 'not-done' -%} +"not-done", +{% elsif code == 'suspended' -%} +"on-hold", +{% elsif code == 'on-hold' -%} +"on-hold", +{% elsif code == 'failed' -%} +"stopped", +{% elsif code == 'stopped' -%} +"stopped", +{% elsif code == 'completed' -%} +"completed", +{% elsif code == 'complete' -%} +"completed", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'error' -%} +"entered-in-error", +{% elsif code == 'unknown' -%} +"unknown", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_FMStatus.liquid b/data/Templates/Cda/ValueSet/_FMStatus.liquid new file mode 100644 index 000000000..592dd3570 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_FMStatus.liquid @@ -0,0 +1,15 @@ +{% if code == 'active' -%} +"active", +{% elsif code == 'cancelled' -%} +"cancelled", +{% elsif code == 'abandonded' -%} +"cancelled", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'error' -%} +"entered-in-error", +{% elsif code == 'draft' -%} +"draft", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_Language.liquid b/data/Templates/Cda/ValueSet/_Language.liquid new file mode 100644 index 000000000..7af570744 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_Language.liquid @@ -0,0 +1,27 @@ +{% if code == 'en' -%} +"English", +{% elsif code == 'en-au' -%} +"English (Australia)", +{% elsif code == 'en-ca' -%} +"English (Canada)", +{% elsif code == 'en-in' -%} +"English (India)", +{% elsif code == 'en-gb' -%} +"English (Great Britain)", +{% elsif code == 'en-nz' -%} +"English (New Zeland)", +{% elsif code == 'en-sg' -%} +"English (Singapore)", +{% elsif code == 'en-us' -%} +"English (United States)", +{% elsif code == 'es' -%} +"Spanish", +{% elsif code == 'de' -%} +"German", +{% elsif code == 'da' -%} +"Danish", +{% elsif code == 'fr' -%} +"French", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_MedicationStatementStatus.liquid b/data/Templates/Cda/ValueSet/_MedicationStatementStatus.liquid new file mode 100644 index 000000000..a1cccb489 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_MedicationStatementStatus.liquid @@ -0,0 +1,5 @@ +{% if code == 'aborted' -%} +"stopped", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_NameUse.liquid b/data/Templates/Cda/ValueSet/_NameUse.liquid new file mode 100644 index 000000000..de453d484 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_NameUse.liquid @@ -0,0 +1,9 @@ +{% if code == 'C' -%} +"usual", +{% elsif code == 'L' -%} +"usual", +{% elsif code == 'P' -%} +"nickname", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_ObservationStatus.liquid b/data/Templates/Cda/ValueSet/_ObservationStatus.liquid new file mode 100644 index 000000000..ff3fa9199 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_ObservationStatus.liquid @@ -0,0 +1,27 @@ +{% if code == 'registered' -%} +"registered", +{% elsif code == 'received' -%} +"registered", +{% elsif code == 'preliminary' -%} +"preliminary", +{% elsif code == 'final' -%} +"final", +{% elsif code == 'completed' -%} +"final", +{% elsif code == 'amended' -%} +"amended", +{% elsif code == 'corrected' -%} +"corrected", +{% elsif code == 'cancelled' -%} +"cancelled", +{% elsif code == 'abandoned' -%} +"cancelled", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'error' -%} +"entered-in-error", +{% elsif code == 'unknown' -%} +"unknown", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_RequestStatus.liquid b/data/Templates/Cda/ValueSet/_RequestStatus.liquid new file mode 100644 index 000000000..7a67bd586 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_RequestStatus.liquid @@ -0,0 +1,23 @@ +{% if code == 'draft' -%} +"draft", +{% elsif code == 'active' -%} +"active", +{% elsif code == 'suspended' -%} +"on-hold", +{% elsif code == 'on-hold' -%} +"on-hold", +{% elsif code == 'failed' -%} +"revoked", +{% elsif code == 'revoked' -%} +"revoked", +{% elsif code == 'completed' -%} +"completed", +{% elsif code == 'entered-in-error' -%} +"entered-in-error", +{% elsif code == 'error' -%} +"entered-in-error", +{% elsif code == 'unknown' -%} +"unknown", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_SystemReference.liquid b/data/Templates/Cda/ValueSet/_SystemReference.liquid new file mode 100644 index 000000000..605b61f45 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_SystemReference.liquid @@ -0,0 +1,32 @@ +{% if code -%} + {% assign s = code | match: '[0123456789.]+' | size -%} + {% if code == '2.16.840.1.113883.6.1' -%} + "http://loinc.org" + {% elsif code == '2.16.840.1.113883.6.96' -%} + "http://snomed.info/sct" + {% elsif code == '2.16.840.1.113883.6.88' -%} + "http://www.nlm.nih.gov/research/umls/rxnorm" + {% elsif code == '2.16.840.1.113883.3.88.12.3221.8.9' -%} + "http://snomed.info/sct" + {% elsif code == '2.16.840.1.113883.5.83' -%} + "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + {% elsif code == '2.16.840.1.113883.4.1' -%} + "http://hl7.org/fhir/sid/us-ssn" + {% elsif code == '2.16.840.1.113883.4.6' -%} + "http://hl7.org/fhir/sid/us-npi" + {% elsif code == '2.16.840.1.113883.4.572' -%} + "http://hl7.org/fhir/sid/us-medicare" + {% elsif code == '2.16.840.1.113883.4.927' -%} + "http://hl7.org/fhir/sid/us-mbi" + {% elsif code == '2.16.840.1.113883.6.59' -%} + "http://hl7.org/fhir/sid/cvx" + {% elsif code == '2.16.840.1.113883.6.101' -%} + "http://nucc.org/provider-taxonomy" + {% elsif s == 1 -%} + "urn:oid:{{ code }}" + {% else -%} + "http://terminology.hl7.org/CodeSystem/{{ code | replace: ' ', '' }}" + {% endif -%} +{% else -%} + "" +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/ValueSet/_TelecomUse.liquid b/data/Templates/Cda/ValueSet/_TelecomUse.liquid new file mode 100644 index 000000000..096779947 --- /dev/null +++ b/data/Templates/Cda/ValueSet/_TelecomUse.liquid @@ -0,0 +1,15 @@ +{% if code == 'HP' -%} +"home", +{% elsif code == 'H' -%} +"home", +{% elsif code == 'WP' -%} +"work", +{% elsif code == 'TMP' -%} +"temp", +{% elsif code == 'BAD' -%} +"old", +{% elsif code == 'MC' -%} +"mobile", +{% else -%} +"{{ code }}", +{% endif -%} \ No newline at end of file diff --git a/data/Templates/Cda/metadata.json b/data/Templates/Cda/metadata.json new file mode 100644 index 000000000..93d8dfdbf --- /dev/null +++ b/data/Templates/Cda/metadata.json @@ -0,0 +1,3 @@ +{ + "type": "cda" +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs index e2cdcb269..caf49cec4 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Text.RegularExpressions; using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; @@ -22,27 +23,44 @@ public class FunctionalTests { public static IEnumerable GetDataForHl7v2() { - var data = new List + var data = new List { - new object[] { @"ADT_A01", @"ADT01-23.hl7", @"ADT01-23-expected.json" }, - new object[] { @"ADT_A01", @"ADT01-28.hl7", @"ADT01-28-expected.json" }, - new object[] { @"ADT_A01", @"ADT04-23.hl7", @"ADT04-23-expected.json" }, - new object[] { @"ADT_A01", @"ADT04-251.hl7", @"ADT04-251-expected.json" }, - new object[] { @"ADT_A01", @"ADT04-28.hl7", @"ADT04-28-expected.json" }, - new object[] { @"OML_O21", @"MDHHS-OML-O21-1.hl7", @"MDHHS-OML-O21-1-expected.json" }, - new object[] { @"OML_O21", @"MDHHS-OML-O21-2.hl7", @"MDHHS-OML-O21-2-expected.json" }, - new object[] { @"ORU_R01", @"LAB-ORU-1.hl7", @"LAB-ORU-1-expected.json" }, - new object[] { @"ORU_R01", @"LAB-ORU-2.hl7", @"LAB-ORU-2-expected.json" }, - new object[] { @"ORU_R01", @"LRI_2.0-NG_CBC_Typ_Message.hl7", @"LRI_2.0-NG_CBC_Typ_Message-expected.json" }, - new object[] { @"ORU_R01", @"ORU-R01-RMGEAD.hl7", @"ORU-R01-RMGEAD-expected.json" }, - new object[] { @"VXU_V04", @"IZ_1_1.1_Admin_Child_Max_Message.hl7", @"IZ_1_1.1_Admin_Child_Max_Message-expected.json" }, - new object[] { @"VXU_V04", @"VXU.hl7", @"VXU-expected.json" }, + new[] { @"ADT_A01", @"ADT01-23.hl7", @"ADT01-23-expected.json" }, + new[] { @"ADT_A01", @"ADT01-28.hl7", @"ADT01-28-expected.json" }, + new[] { @"ADT_A01", @"ADT04-23.hl7", @"ADT04-23-expected.json" }, + new[] { @"ADT_A01", @"ADT04-251.hl7", @"ADT04-251-expected.json" }, + new[] { @"ADT_A01", @"ADT04-28.hl7", @"ADT04-28-expected.json" }, + new[] { @"OML_O21", @"MDHHS-OML-O21-1.hl7", @"MDHHS-OML-O21-1-expected.json" }, + new[] { @"OML_O21", @"MDHHS-OML-O21-2.hl7", @"MDHHS-OML-O21-2-expected.json" }, + new[] { @"ORU_R01", @"LAB-ORU-1.hl7", @"LAB-ORU-1-expected.json" }, + new[] { @"ORU_R01", @"LAB-ORU-2.hl7", @"LAB-ORU-2-expected.json" }, + new[] { @"ORU_R01", @"LRI_2.0-NG_CBC_Typ_Message.hl7", @"LRI_2.0-NG_CBC_Typ_Message-expected.json" }, + new[] { @"ORU_R01", @"ORU-R01-RMGEAD.hl7", @"ORU-R01-RMGEAD-expected.json" }, + new[] { @"VXU_V04", @"IZ_1_1.1_Admin_Child_Max_Message.hl7", @"IZ_1_1.1_Admin_Child_Max_Message-expected.json" }, + new[] { @"VXU_V04", @"VXU.hl7", @"VXU-expected.json" }, }; - return data.Select(item => new object[] + return data.Select(item => new[] { - Convert.ToString(item[0]), - Path.Join(Constants.SampleDataDirectory, "Hl7v2", Convert.ToString(item[1])), - Path.Join(Constants.ExpectedDataFolder, "Hl7v2", Convert.ToString(item[0]), Convert.ToString(item[2])), + item[0], + Path.Join(Constants.SampleDataDirectory, "Hl7v2", item[1]), + Path.Join(Constants.ExpectedDataFolder, "Hl7v2", item[0], item[2]), + }); + } + + public static IEnumerable GetDataForCda() + { + var data = new List + { + new[] { @"CCD", @"170.314B2_Amb_CCD.cda", @"170.314B2_Amb_CCD-expected.json" }, + new[] { @"CCD", @"C-CDA_R2-1_CCD.xml.cda", @"C-CDA_R2-1_CCD.xml-expected.json" }, + new[] { @"CCD", @"CCD.cda", @"CCD-expected.json" }, + new[] { @"CCD", @"CCD-Parent-Document-Replace-C-CDAR2.1.cda", @"CCD-Parent-Document-Replace-C-CDAR2.1-expected.json" }, + }; + return data.Select(item => new[] + { + item[0], + Path.Join(Constants.SampleDataDirectory, "Cda", item[1]), + Path.Join(Constants.ExpectedDataFolder, "Cda", item[0], item[2]), }); } @@ -65,6 +83,27 @@ public void GivenHl7v2Message_WhenConverting_ExpectedFhirResourceShouldBeReturne Assert.True(traceInfo.UnusedSegments.Count > 0); } + [Theory] + [MemberData(nameof(GetDataForCda))] + public void GivenCdaDocument_WhenConverting_ExpectedFhirResourceShouldBeReturned(string rootTemplate, string inputFile, string expectedFile) + { + var cdaProcessor = new CdaProcessor(); + var templateDirectory = Path.Join(AppDomain.CurrentDomain.BaseDirectory, Constants.TemplateDirectory, "Cda"); + + var inputContent = File.ReadAllText(inputFile); + var expectedContent = File.ReadAllText(expectedFile); + var actualContent = cdaProcessor.Convert(inputContent, rootTemplate, new CdaTemplateProvider(templateDirectory)); + + var expectedObject = JObject.Parse(expectedContent); + var actualObject = JObject.Parse(actualContent); + + // Remove DocumentReference, where date is different every time conversion is run and gzip result is OS dependent + expectedObject["entry"]?.Last()?.Remove(); + actualObject["entry"]?.Last()?.Remove(); + + Assert.True(JToken.DeepEquals(expectedObject, actualObject)); + } + [Fact] public void GivenAnInvalidTemplate_WhenConverting_ExceptionsShouldBeThrown() { @@ -80,22 +119,5 @@ public void GivenAnInvalidTemplate_WhenConverting_ExceptionsShouldBeThrown() var exception = Assert.Throws(() => hl7v2Processor.Convert(@"MSH|^~\&|", "template", new Hl7v2TemplateProvider(templateCollection))); Assert.True(exception.InnerException is DotLiquid.Exceptions.StackLevelException); } - - [Fact] - public void GivenEscapedMessage_WhenConverting_ExpectedCharacterShouldbeReturned() - { - var hl7v2Processor = new Hl7v2Processor(); - var templateDirectory = Path.Join(AppDomain.CurrentDomain.BaseDirectory, Constants.TemplateDirectory, "Hl7v2"); - var inputContent = string.Join("\n", new List - { - @"MSH|^~\&|FOO|BAR|FOO|BAR|20201225000000|FOO|ADT^A01|123456|P|2.3|||||||||||", - @"PR1|1|FOO|FOO^ESCAPED ONE \T\ ESCAPED TWO^BAR|ESCAPED THREE \T\ ESCAPED FOUR|20201225000000||||||||||", - }); - var result = JObject.Parse(hl7v2Processor.Convert(inputContent, "ADT_A01", new Hl7v2TemplateProvider(templateDirectory))); - - var texts = result.SelectTokens("$.entry[?(@.resource.resourceType == 'Procedure')].resource.code.text").Select(Convert.ToString); - var expected = new List { "ESCAPED ONE & ESCAPED TWO", "ESCAPED THREE & ESCAPED FOUR" }; - Assert.NotEmpty(texts.Intersect(expected)); - } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests.csproj b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests.csproj index 2e447410b..273da3ead 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests.csproj +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests.csproj @@ -31,7 +31,7 @@ - + PreserveNewest diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/170.314B2_Amb_CCD-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/170.314B2_Amb_CCD-expected.json new file mode 100644 index 000000000..27d3219f7 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/170.314B2_Amb_CCD-expected.json @@ -0,0 +1,1047 @@ +{ + "resourceType": "Bundle", + "type": "batch", + "entry": [ + { + "fullUrl": "urn:uuid:51f8c324-6b9a-bbf6-2242-055efba67d38", + "resource": { + "resourceType": "Composition", + "id": "51f8c324-6b9a-bbf6-2242-055efba67d38", + "identifier": { + "use": "official", + "value": "1.3.6.1.4.1.22812.3.99930.3.1" + }, + "status": "final", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "SUMMARIZATION OF EPISODE NOTE", + "system": "http://loinc.org" + } + ] + }, + "date": "2013-01-30T21:00:51+08:00", + "title": "Continuity of Care Document", + "confidentiality": "V", + "attester": [ + { + "mode": "legal", + "time": "2013-01-30T21:00:51+08:00", + "party": { + "reference": "Practitioner/b14b88db-3f12-cd84-2ddb-b2e6cab1f3c0" + } + } + ], + "event": [ + { + "period": { + "start": "2012-08-15T09:00:51Z" + } + } + ], + "section": [ + { + "title": "Reason For Referral", + "text": { + "status": "generated", + "div": "
Reason For Referral
" + }, + "code": { + "coding": [ + { + "code": "42349-1", + "display": "Reason For Referral", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Functional Status", + "text": { + "status": "generated", + "div": "
Functional Status
" + }, + "code": { + "coding": [ + { + "code": "47420-5", + "display": "Functional Status", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Problems", + "text": { + "status": "generated", + "div": "
Problems
" + }, + "code": { + "coding": [ + { + "code": "11450-4", + "display": "Problem List", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Medications", + "text": { + "status": "generated", + "div": "
Medications
" + }, + "code": { + "coding": [ + { + "code": "10160-0", + "display": "History of medication use", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Allergies and Adverse Reactions", + "text": { + "status": "generated", + "div": "
Allergies and Adverse Reactions
" + }, + "code": { + "coding": [ + { + "code": "48765-2", + "display": "Allergies, adverse reactions, alerts", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Immunization", + "text": { + "status": "generated", + "div": "
Immunization
" + }, + "code": { + "coding": [ + { + "code": "11369-6", + "display": "Immunizations", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Social History", + "text": { + "status": "generated", + "div": "
Social History
" + }, + "code": { + "coding": [ + { + "code": "29762-2", + "display": "Social History", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Vital Signs", + "text": { + "status": "generated", + "div": "
Vital Signs
" + }, + "code": { + "coding": [ + { + "code": "8716-3", + "display": "Vital Signs", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Results", + "text": { + "status": "generated", + "div": "
Results
" + }, + "code": { + "coding": [ + { + "code": "30954-2", + "display": "Relevant diagnostic tests and/or laboratory data", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Plan of Care", + "text": { + "status": "generated", + "div": "
Plan of Care
" + }, + "code": { + "coding": [ + { + "code": "18776-5", + "display": "Plan of Care", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Instructions", + "text": { + "status": "generated", + "div": "
Instructions
" + }, + "code": { + "coding": [ + { + "code": "69730-0", + "display": "Instructions", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Encounters", + "text": { + "status": "generated", + "div": "
Encounters
" + }, + "code": { + "coding": [ + { + "code": "46240-8", + "display": "Encounters", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + } + ], + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + }, + "encounter": { + "reference": "Encounter/c007ac7d-5502-54c7-09a9-a45b4c84c5cd" + }, + "custodian": { + "reference": "Organization/e43c8521-43e8-af8f-23fe-a3ab2556e7fc" + }, + "author": [ + { + "reference": "Practitioner/b14b88db-3f12-cd84-2ddb-b2e6cab1f3c0" + }, + { + "reference": "Device/20249d1d-01be-7214-0e99-0950cbdbdbbd" + }, + { + "reference": "Practitioner/a6349d55-b0a5-aed7-6b87-caebfa815789" + } + ] + }, + "request": { + "method": "PUT", + "url": "Composition/51f8c324-6b9a-bbf6-2242-055efba67d38" + } + }, + { + "fullUrl": "urn:uuid:b14b88db-3f12-cd84-2ddb-b2e6cab1f3c0", + "resource": { + "resourceType": "Practitioner", + "id": "b14b88db-3f12-cd84-2ddb-b2e6cab1f3c0", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "1111111111" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3", + "value": "91138" + } + ], + "name": [ + { + "family": "Khan", + "given": [ + "Samir" + ], + "prefix": [ + "Dr" + ] + } + ], + "address": [ + { + "line": [ + "Get Well Clinic", + "1004 Healthcare Dr." + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97005" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1-(555)555-1004" + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/b14b88db-3f12-cd84-2ddb-b2e6cab1f3c0" + } + }, + { + "fullUrl": "urn:uuid:c007ac7d-5502-54c7-09a9-a45b4c84c5cd", + "resource": { + "resourceType": "Encounter", + "id": "c007ac7d-5502-54c7-09a9-a45b4c84c5cd", + "status": "unknown", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.3.4", + "value": "5283815" + } + ], + "period": { + "start": "2012-08-15T09:00:51Z", + "end": "2013-01-30T21:00:51+08:00" + } + }, + "request": { + "method": "PUT", + "url": "Encounter/c007ac7d-5502-54c7-09a9-a45b4c84c5cd" + } + }, + { + "fullUrl": "urn:uuid:e43c8521-43e8-af8f-23fe-a3ab2556e7fc", + "resource": { + "resourceType": "Organization", + "id": "e43c8521-43e8-af8f-23fe-a3ab2556e7fc", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3", + "value": "3" + } + ], + "name": "Get Well Clinic", + "address": [ + { + "line": [ + "Get Well Clinic", + "1004 Healthcare Dr." + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97005" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1-(555)555-1004" + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/e43c8521-43e8-af8f-23fe-a3ab2556e7fc" + } + }, + { + "fullUrl": "urn:uuid:20249d1d-01be-7214-0e99-0950cbdbdbbd", + "resource": { + "resourceType": "Device", + "id": "20249d1d-01be-7214-0e99-0950cbdbdbbd", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.3.3", + "value": "3" + } + ], + "type": { + "coding": [ + { + "display": "Enterprise EHR Clinical System 11.200.4210.17305" + } + ] + }, + "manufacturer": "Enterprise EHR Clinical System 11.200.4210.17305", + "version": [ + { + "value": "Enterprise EHR Clinical System 11.200.4210.17305; Transform 4.1.1.18" + } + ], + "owner": { + "reference": "Organization/e43c8521-43e8-af8f-23fe-a3ab2556e7fc" + } + }, + "request": { + "method": "PUT", + "url": "Device/20249d1d-01be-7214-0e99-0950cbdbdbbd" + } + }, + { + "fullUrl": "urn:uuid:a6349d55-b0a5-aed7-6b87-caebfa815789", + "resource": { + "resourceType": "Practitioner", + "id": "a6349d55-b0a5-aed7-6b87-caebfa815789", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.3.3", + "value": "3" + } + ], + "address": [ + { + "line": [ + "Get Well Clinic", + "1004 Healthcare Dr." + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97005" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1-(555)555-1004" + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/a6349d55-b0a5-aed7-6b87-caebfa815789" + } + }, + { + "fullUrl": "urn:uuid:a656b459-dec5-7b46-77eb-41c20c9a5901", + "resource": { + "resourceType": "Patient", + "id": "a656b459-dec5-7b46-77eb-41c20c9a5901", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" + ] + }, + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3", + "value": "110107073916280" + } + ], + "name": [ + { + "family": "Everyman", + "given": [ + "Adam" + ] + } + ], + "birthDate": "1962-10-22", + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2106-3", + "display": "White", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "text", + "valueString": "White" + } + ] + }, + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2186-5", + "display": "Not Hispanic or Latino", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "text", + "valueString": "Not Hispanic or Latino" + } + ] + } + ], + "address": [ + { + "use": "home", + "line": [ + "1234 Six Forks" + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97005" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1-(555)555-3333", + "use": "home" + } + ], + "communication": [ + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "eng", + "display": "eng" + } + ] + }, + "preferred": "true" + } + ] + }, + "request": { + "method": "PUT", + "url": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + { + "fullUrl": "urn:uuid:2353559d-3d4c-a788-97c2-1e36d0473b16", + "resource": { + "resourceType": "AllergyIntolerance", + "id": "2353559d-3d4c-a788-97c2-1e36d0473b16", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.10.2", + "value": "613618700107" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.10.2", + "value": "613618700109" + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "resolved" + } + ] + }, + "reaction": [ + { + "substance": { + "coding": [ + { + "code": "7982", + "display": "Penicillin G benzathine", + "system": "http://www.nlm.nih.gov/research/umls/rxnorm" + } + ] + }, + "manifestation": [ + { + "coding": [ + { + "code": "247472004", + "display": "Hives", + "system": "http://snomed.info/sct" + } + ] + } + ], + "severity": "Hives" + } + ], + "onsetDateTime": "1998-01-10", + "patient": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "AllergyIntolerance/2353559d-3d4c-a788-97c2-1e36d0473b16" + } + }, + { + "fullUrl": "urn:uuid:68536ec6-7b36-0170-cd60-3cdb7b70cf45", + "resource": { + "resourceType": "AllergyIntolerance", + "id": "68536ec6-7b36-0170-cd60-3cdb7b70cf45", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.10.2", + "value": "624373800001" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.10.2", + "value": "637073500005" + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "resolved" + } + ] + }, + "reaction": [ + { + "substance": { + "coding": [ + { + "code": "2670", + "display": "Codeine", + "system": "http://snomed.info/sct" + } + ] + }, + "manifestation": [ + { + "coding": [ + { + "code": "422587007", + "display": "Nausea", + "system": "http://snomed.info/sct" + } + ] + } + ], + "severity": "Nausea" + } + ], + "onsetDateTime": "2001-01-10T00:00:00Z", + "patient": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "AllergyIntolerance/68536ec6-7b36-0170-cd60-3cdb7b70cf45" + } + }, + { + "fullUrl": "urn:uuid:fd272f60-b3b2-c1a4-2f66-c4d459abc715", + "resource": { + "resourceType": "MedicationStatement", + "id": "fd272f60-b3b2-c1a4-2f66-c4d459abc715", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.9", + "value": "659122500005" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.9", + "value": "659122500007" + } + ], + "status": "completed", + "dosage": [ + { + "doseAndRate": [ + { + "doseQuantity": { + "value": "2", + "unit": "Puffs" + } + } + ] + } + ], + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + }, + "medicationReference": { + "reference": "Medication/d7ad4ff0-a6d7-9116-c7b9-d101b8e94a64" + } + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/fd272f60-b3b2-c1a4-2f66-c4d459abc715" + } + }, + { + "fullUrl": "urn:uuid:d7ad4ff0-a6d7-9116-c7b9-d101b8e94a64", + "resource": { + "resourceType": "Medication", + "id": "d7ad4ff0-a6d7-9116-c7b9-d101b8e94a64", + "code": { + "coding": [ + { + "code": "573621", + "display": "Albuterol 0.09 MG/ACTUAT metered dose", + "system": "http://www.nlm.nih.gov/research/umls/rxnorm" + } + ] + } + }, + "request": { + "method": "PUT", + "url": "Medication/d7ad4ff0-a6d7-9116-c7b9-d101b8e94a64" + } + }, + { + "fullUrl": "urn:uuid:b5ab02bc-3b05-b81a-d770-fcac49ba807d", + "resource": { + "resourceType": "Condition", + "id": "b5ab02bc-3b05-b81a-d770-fcac49ba807d", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.1.2.1", + "value": "615028800003" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.1.2.1", + "value": "659935200001" + } + ], + "clinicalStatus": { + "coding": [ + { + "code": "55561003", + "display": "Active", + "system": "http://snomed.info/sct" + } + ] + }, + "code": { + "coding": [ + { + "code": "64109004", + "display": "Costochondritis", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "2012-08-15", + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "Condition/b5ab02bc-3b05-b81a-d770-fcac49ba807d" + } + }, + { + "fullUrl": "urn:uuid:2337a2f4-1a3c-23ea-bb95-d73049e9204f", + "resource": { + "resourceType": "Condition", + "id": "2337a2f4-1a3c-23ea-bb95-d73049e9204f", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.1.2.1", + "value": "636842200007" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.1.2.1", + "value": "660100900011" + } + ], + "clinicalStatus": { + "coding": [ + { + "code": "55561003", + "display": "Active", + "system": "http://snomed.info/sct" + } + ] + }, + "code": { + "coding": [ + { + "code": "195967001", + "display": "Asthma", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "2011-09-25T13:00:00+08:00", + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "Condition/2337a2f4-1a3c-23ea-bb95-d73049e9204f" + } + }, + { + "fullUrl": "urn:uuid:377bc352-6e5e-a8e5-d8ec-53c7631bb889", + "resource": { + "resourceType": "DiagnosticReport", + "id": "377bc352-6e5e-a8e5-d8ec-53c7631bb889", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.5", + "value": "659988700005" + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "82374", + "display": "CO2", + "system": "urn:oid:2.16.840.1.113883.6.12" + } + ] + }, + "effectiveDateTime": "2012-08-15", + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + }, + "result": [ + { + "reference": "Observation/57b3e387-7bc2-a581-a668-b22cace62a33" + } + ] + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/377bc352-6e5e-a8e5-d8ec-53c7631bb889" + } + }, + { + "fullUrl": "urn:uuid:57b3e387-7bc2-a581-a668-b22cace62a33", + "resource": { + "resourceType": "Observation", + "id": "57b3e387-7bc2-a581-a668-b22cace62a33", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.5", + "value": "6599887000031" + }, + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3.4.5", + "value": "6599889000031" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "2028-9", + "display": "CO2", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2012-08-15", + "valueQuantity": { + "value": "25", + "unit": "mmol/L" + }, + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "Observation/57b3e387-7bc2-a581-a668-b22cace62a33" + } + }, + { + "fullUrl": "urn:uuid:5e203a24-4f4d-92ad-1afd-67edbeb18004", + "resource": { + "resourceType": "Observation", + "id": "5e203a24-4f4d-92ad-1afd-67edbeb18004", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "ASSERTION", + "display": "Assertion", + "system": "urn:oid:2.16.840.1.113883.5.4" + } + ] + }, + "effectivePeriod": { + "start": "2012" + }, + "valueCodeableConcept": { + "coding": [ + { + "code": "266919005", + "display": "Never smoker", + "system": "http://snomed.info/sct" + } + ] + }, + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "Observation/5e203a24-4f4d-92ad-1afd-67edbeb18004" + } + }, + { + "fullUrl": "urn:uuid:fe7a527f-e3af-84b6-65ac-248dcfd7a9ac", + "resource": { + "resourceType": "Observation", + "id": "fe7a527f-e3af-84b6-65ac-248dcfd7a9ac", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "ASSERTION", + "display": "Assertion", + "system": "urn:oid:2.16.840.1.113883.5.4" + } + ] + }, + "effectivePeriod": { + "start": "2012" + }, + "valueCodeableConcept": { + "coding": [ + { + "code": "428041000124106", + "display": "Current some day smoker", + "system": "http://snomed.info/sct" + } + ] + }, + "subject": { + "reference": "Patient/a656b459-dec5-7b46-77eb-41c20c9a5901" + } + }, + "request": { + "method": "PUT", + "url": "Observation/fe7a527f-e3af-84b6-65ac-248dcfd7a9ac" + } + }, + { + "fullUrl": "urn:uuid:663b2cfe-5d57-4748-bbc9-48a96c35a7f7", + "resource": { + "resourceType": "DocumentReference", + "id": "663b2cfe-5d57-4748-bbc9-48a96c35a7f7", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "SUMMARIZATION OF EPISODE NOTE", + "system": "http://loinc.org" + } + ] + }, + "date": "2021-03-04T04:07:04.049Z", + "status": "current", + "content": [ + { + "attachment": { + "contentType": "text/plain", + "data": "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", + "hash": "YjJjYmM0NDkzOTE4NTA3MzFjOGJmZjM4OGNhYTA3MThjZmI2MmQwOA==" + } + } + ] + }, + "request": { + "method": "PUT", + "url": "DocumentReference/663b2cfe-5d57-4748-bbc9-48a96c35a7f7" + } + } + ] +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json new file mode 100644 index 000000000..7610bc89a --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json @@ -0,0 +1,2135 @@ +{ + "resourceType": "Bundle", + "type": "batch", + "entry": [ + { + "fullUrl": "urn:uuid:bd76febe-cc5e-47b4-46a8-7048efa8b753", + "resource": { + "resourceType": "Composition", + "id": "bd76febe-cc5e-47b4-46a8-7048efa8b753", + "identifier": { + "use": "official", + "value": "2.16.840.1.113883.19.5.99999.1" + }, + "status": "final", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "Summarization of Episode Note", + "system": "http://loinc.org" + } + ] + }, + "date": "2013-08-16T02:30:00+08:00", + "title": "Patient Chart Summary", + "confidentiality": "N", + "attester": [ + { + "mode": "legal", + "time": "2013-08-16T14:36:15+08:00", + "party": { + "reference": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + } + } + ], + "event": [ + { + "period": { + "start": "1975-05-01" + } + } + ], + "section": [ + { + "title": "ADVANCE DIRECTIVES", + "text": { + "status": "generated", + "div": "
ADVANCE DIRECTIVES
" + }, + "code": { + "coding": [ + { + "code": "42348-3", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "ALLERGIES AND ADVERSE REACTIONS", + "text": { + "status": "generated", + "div": "
ALLERGIES AND ADVERSE REACTIONS
" + }, + "code": { + "coding": [ + { + "code": "48765-2", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "ENCOUNTERS", + "text": { + "status": "generated", + "div": "
ENCOUNTERS
" + }, + "code": { + "coding": [ + { + "code": "46240-8", + "display": "History of encounters", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "FAMILY HISTORY", + "text": { + "status": "generated", + "div": "
FAMILY HISTORY
" + }, + "code": { + "coding": [ + { + "code": "10157-6", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "FUNCTIONAL STATUS", + "text": { + "status": "generated", + "div": "
FUNCTIONAL STATUS
" + }, + "code": { + "coding": [ + { + "code": "47420-5", + "display": "Functional Status", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "IMMUNIZATIONS", + "text": { + "status": "generated", + "div": "
IMMUNIZATIONS
" + }, + "code": { + "coding": [ + { + "code": "11369-6", + "display": "History of immunizations", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "MEDICAL EQUIPMENT", + "text": { + "status": "generated", + "div": "
MEDICAL EQUIPMENT
" + }, + "code": { + "coding": [ + { + "code": "46264-8", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "MEDICATIONS", + "text": { + "status": "generated", + "div": "
MEDICATIONS
" + }, + "code": { + "coding": [ + { + "code": "10160-0", + "display": "HISTORY OF MEDICATION USE", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "INSURANCE PROVIDERS", + "text": { + "status": "generated", + "div": "
INSURANCE PROVIDERS
" + }, + "code": { + "coding": [ + { + "code": "48768-6", + "display": "Payer", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "TREATMENT PLAN", + "text": { + "status": "generated", + "div": "
TREATMENT PLAN
" + }, + "code": { + "coding": [ + { + "code": "18776-5", + "display": "Treatment plan", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "PROBLEMS", + "text": { + "status": "generated", + "div": "
PROBLEMS
" + }, + "code": { + "coding": [ + { + "code": "11450-4", + "display": "PROBLEM LIST", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "PROCEDURES", + "text": { + "status": "generated", + "div": "
PROCEDURES
" + }, + "code": { + "coding": [ + { + "code": "47519-4", + "display": "HISTORY OF PROCEDURES", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "RESULTS", + "text": { + "status": "generated", + "div": "
RESULTS
" + }, + "code": { + "coding": [ + { + "code": "30954-2", + "display": "RESULTS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "SOCIAL HISTORY", + "text": { + "status": "generated", + "div": "
SOCIAL HISTORY
" + }, + "code": { + "coding": [ + { + "code": "29762-2", + "display": "Social History", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "VITAL SIGNS", + "text": { + "status": "generated", + "div": "
VITAL SIGNS
" + }, + "code": { + "coding": [ + { + "code": "8716-3", + "display": "VITAL SIGNS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "custodian": { + "reference": "Organization/63407f17-1d85-02ee-516d-1fc729e6eae9" + }, + "author": [ + { + "reference": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + } + ] + }, + "request": { + "method": "PUT", + "url": "Composition/bd76febe-cc5e-47b4-46a8-7048efa8b753" + } + }, + { + "fullUrl": "urn:uuid:b0ac12ce-9e58-22b8-f79a-aba2409dac02", + "resource": { + "resourceType": "Practitioner", + "id": "b0ac12ce-9e58-22b8-f79a-aba2409dac02", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "5555555555" + } + ], + "name": [ + { + "family": "Primary", + "given": [ + "Patricia", + "Patty" + ], + "suffix": [ + "M.D." + ] + } + ], + "address": [ + { + "line": [ + "1004 Healthcare Drive " + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "99123" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-1004", + "use": "work" + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "code": "207QA0505X", + "display": "Adult Medicine", + "system": "http://nucc.org/provider-taxonomy" + } + ] + } + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + } + }, + { + "fullUrl": "urn:uuid:63407f17-1d85-02ee-516d-1fc729e6eae9", + "resource": { + "resourceType": "Organization", + "id": "63407f17-1d85-02ee-516d-1fc729e6eae9", + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "321CX" + } + ], + "name": "Good Health HIE", + "address": [ + { + "use": "work", + "line": [ + "1009 Healthcare Drive " + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "99123" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-1009", + "use": "work" + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/63407f17-1d85-02ee-516d-1fc729e6eae9" + } + }, + { + "fullUrl": "urn:uuid:aca97b95-3c1c-ce73-ac65-f520242997a9", + "resource": { + "resourceType": "Patient", + "id": "aca97b95-3c1c-ce73-ac65-f520242997a9", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-ssn", + "value": "444222222" + } + ], + "name": [ + { + "use": "usual", + "family": "Betterhalf", + "given": [ + "Eve" + ] + } + ], + "birthDate": "1975-05-01", + "gender": "female", + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2106-3", + "display": "White", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "ombCategory", + "valueCoding": { + "code": "2076-8", + "display": "Hawaiian or Other Pacific Islander", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "text", + "valueString": "Mixed" + } + ] + }, + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2186-5", + "display": "Not Hispanic or Latino", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "text", + "valueString": "Not Hispanic or Latino" + } + ] + } + ], + "address": [ + { + "use": "home", + "line": [ + "2222 Home Street" + ], + "city": "Beaverton", + "state": "OR", + "country": "US", + "postalCode": "97867" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-2003", + "use": "home" + } + ], + "communication": [ + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "en", + "display": "English" + } + ] + }, + "preferred": "true" + } + ] + }, + "request": { + "method": "PUT", + "url": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + { + "fullUrl": "urn:uuid:1e516bfc-532c-65a4-45e2-e8536f0eb630", + "resource": { + "resourceType": "RelatedPerson", + "id": "1e516bfc-532c-65a4-45e2-e8536f0eb630", + "relationship": [ + { + "coding": [ + { + "code": "POWATT", + "display": "Power of Attorney", + "system": "urn:oid:2.16.840.1.113883.1.11.19830" + } + ] + } + ], + "name": [ + { + "family": "Betterhalf", + "given": [ + "Boris", + "Bo" + ] + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-2008", + "use": "mobile" + } + ], + "address": [ + { + "use": "home", + "line": [ + "2222 Home Street" + ], + "city": "Beaverton", + "state": "OR", + "country": "US", + "postalCode": "97867" + } + ], + "patient": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "RelatedPerson/1e516bfc-532c-65a4-45e2-e8536f0eb630" + } + }, + { + "fullUrl": "urn:uuid:a956135e-a0d9-7ffa-39fa-e8116640b0d0", + "resource": { + "resourceType": "AllergyIntolerance", + "id": "a956135e-a0d9-7ffa-39fa-e8116640b0d0", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:4adc1020-7b14-11db-9fe1-0800200c9a66" + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "reaction": [ + { + "substance": { + "coding": [ + { + "code": "70618", + "display": "Penicillin", + "system": "http://www.nlm.nih.gov/research/umls/rxnorm" + } + ] + }, + "manifestation": [ + { + "coding": [ + { + "code": "422587007", + "display": "Nausea", + "system": "http://snomed.info/sct" + } + ] + } + ], + "severity": "Nausea", + "onset": "2008-02-27T00:05:00+08:00" + } + ], + "onsetDateTime": "1998-05-01", + "patient": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "AllergyIntolerance/a956135e-a0d9-7ffa-39fa-e8116640b0d0" + } + }, + { + "fullUrl": "urn:uuid:472ec587-c61b-99ed-e1ac-400d6d6a5f9b", + "resource": { + "resourceType": "AllergyIntolerance", + "id": "472ec587-c61b-99ed-e1ac-400d6d6a5f9b", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:901db0f8-9355-4794-81cd-fd951ef07917" + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "reaction": [ + { + "substance": { + "coding": [ + { + "code": "2670", + "display": "Codeine", + "system": "http://www.nlm.nih.gov/research/umls/rxnorm" + } + ] + }, + "manifestation": [ + { + "coding": [ + { + "code": "255604002", + "display": "Mild", + "system": "http://snomed.info/sct" + } + ] + } + ], + "severity": "Mild" + } + ], + "patient": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "AllergyIntolerance/472ec587-c61b-99ed-e1ac-400d6d6a5f9b" + } + }, + { + "fullUrl": "urn:uuid:645a6a00-d6d2-5475-8b1f-3e682ab84745", + "resource": { + "resourceType": "MedicationStatement", + "id": "645a6a00-d6d2-5475-8b1f-3e682ab84745", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:cdbd33f0-6cde-11db-9fe1-0800200c9a66" + } + ], + "status": "active", + "dosage": [ + { + "doseAndRate": [ + { + "doseQuantity": { + "value": "2" + } + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "medicationReference": { + "reference": "Medication/24fc2162-97d1-b8b5-b8ab-39a9cd87d621" + } + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/645a6a00-d6d2-5475-8b1f-3e682ab84745" + } + }, + { + "fullUrl": "urn:uuid:24fc2162-97d1-b8b5-b8ab-39a9cd87d621", + "resource": { + "resourceType": "Medication", + "id": "24fc2162-97d1-b8b5-b8ab-39a9cd87d621", + "code": { + "coding": [ + { + "code": "573621", + "display": "Proventil 0.09 MG/ACTUAT inhalant solution", + "system": "http://www.nlm.nih.gov/research/umls/rxnorm" + } + ] + } + }, + "request": { + "method": "PUT", + "url": "Medication/24fc2162-97d1-b8b5-b8ab-39a9cd87d621" + } + }, + { + "fullUrl": "urn:uuid:d6e30559-8118-1ff6-ee4d-38034187bb8f", + "resource": { + "resourceType": "MedicationRequest", + "id": "d6e30559-8118-1ff6-ee4d-38034187bb8f", + "intent": "order", + "status": "completed", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "medicationReference": { + "reference": "Medication/24fc2162-97d1-b8b5-b8ab-39a9cd87d621" + }, + "requester": { + "reference": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/d6e30559-8118-1ff6-ee4d-38034187bb8f" + } + }, + { + "fullUrl": "urn:uuid:ee69cedd-b031-c4b4-f0cd-0db266dd89b3", + "resource": { + "resourceType": "MedicationRequest", + "id": "ee69cedd-b031-c4b4-f0cd-0db266dd89b3", + "identifier": [ + { + "system": "urn:oid:1.2.3.4.56789.1", + "value": "cb734647-fc99-424c-a864-7e3cda82e704" + } + ], + "intent": "order", + "status": "completed", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "medicationReference": { + "reference": "Medication/24fc2162-97d1-b8b5-b8ab-39a9cd87d621" + } + }, + "request": { + "method": "PUT", + "url": "MedicationRequest/ee69cedd-b031-c4b4-f0cd-0db266dd89b3" + } + }, + { + "fullUrl": "urn:uuid:b7bf5e52-57b0-08be-82bf-cac3be34019d", + "resource": { + "resourceType": "MedicationStatement", + "id": "b7bf5e52-57b0-08be-82bf-cac3be34019d", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:6c844c75-aa34-411c-b7bd-5e4a9f206e29" + } + ], + "status": "active", + "dosage": [ + { + "doseAndRate": [ + { + "doseQuantity": { + "value": "1" + } + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "medicationReference": { + "reference": "Medication/092be6cb-127b-02a1-f7b1-ce1d289f9368" + } + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/b7bf5e52-57b0-08be-82bf-cac3be34019d" + } + }, + { + "fullUrl": "urn:uuid:092be6cb-127b-02a1-f7b1-ce1d289f9368", + "resource": { + "resourceType": "Medication", + "id": "092be6cb-127b-02a1-f7b1-ce1d289f9368", + "code": { + "coding": [ + { + "code": "197380", + "display": "Atenolol 25 MG Oral Tablet", + "system": "http://www.nlm.nih.gov/research/umls/rxnorm" + } + ] + } + }, + "request": { + "method": "PUT", + "url": "Medication/092be6cb-127b-02a1-f7b1-ce1d289f9368" + } + }, + { + "fullUrl": "urn:uuid:c4760c6c-9c3c-06ec-353e-548868f4cc98", + "resource": { + "resourceType": "Condition", + "id": "c4760c6c-9c3c-06ec-353e-548868f4cc98", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:ab1791b0-5c71-11db-b0de-0800200c9a66" + } + ], + "code": { + "coding": [ + { + "code": "233604007", + "display": "Pneumonia", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "2013-07-03", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Condition/c4760c6c-9c3c-06ec-353e-548868f4cc98" + } + }, + { + "fullUrl": "urn:uuid:97d9f3c7-76d1-be6a-c24f-e0400049db1b", + "resource": { + "resourceType": "Condition", + "id": "97d9f3c7-76d1-be6a-c24f-e0400049db1b", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:11d088a8-b957-401c-8ee0-3bd20a772fc0" + } + ], + "code": { + "coding": [ + { + "code": "29857009", + "display": "Chest pain", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "2007-04-14", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Condition/97d9f3c7-76d1-be6a-c24f-e0400049db1b" + } + }, + { + "fullUrl": "urn:uuid:8077bb92-0b62-cb0f-5ef9-9b396aada379", + "resource": { + "resourceType": "Condition", + "id": "8077bb92-0b62-cb0f-5ef9-9b396aada379", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:4991db40-4c4f-41e8-9146-50c12d716424" + } + ], + "code": { + "coding": [ + { + "code": "194828000", + "display": "Angina", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "2007-04-17", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Condition/8077bb92-0b62-cb0f-5ef9-9b396aada379" + } + }, + { + "fullUrl": "urn:uuid:163a1e81-9f38-df48-eef3-9553705117bb", + "resource": { + "resourceType": "Condition", + "id": "163a1e81-9f38-df48-eef3-9553705117bb", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:10506b4d-c30a-4220-8bec-97bff9568fd1" + } + ], + "code": { + "coding": [ + { + "code": "233604007", + "display": "Pneumonia", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "1998-03-10", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Condition/163a1e81-9f38-df48-eef3-9553705117bb" + } + }, + { + "fullUrl": "urn:uuid:277f4e89-11b9-53c4-5367-fe6b402a4c34", + "resource": { + "resourceType": "DiagnosticReport", + "id": "277f4e89-11b9-53c4-5367-fe6b402a4c34", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:7d5a02b0-67a4-11db-bd13-0800200c9a66" + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "57021-8", + "display": "CBC W Auto Differential panel in Blood", + "system": "http://loinc.org" + } + ] + }, + "effectivePeriod": { + "start": "2008-03-20T00:30:00+08:00", + "end": "2008-03-20T00:30:00+08:00" + }, + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "result": [ + { + "reference": "Observation/eb4ec292-00c7-9a02-09b7-69e980dafd83" + }, + { + "reference": "Observation/91793394-4e7a-b396-6268-619dc0869bed" + }, + { + "reference": "Observation/9bab4c76-9698-d274-0cfa-115eafc08658" + }, + { + "reference": "Observation/176ead30-883e-9b8a-b21e-336e4992a714" + }, + { + "reference": "Observation/a3cae148-2861-ce60-664f-758cf0c52887" + } + ] + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/277f4e89-11b9-53c4-5367-fe6b402a4c34" + } + }, + { + "fullUrl": "urn:uuid:eb4ec292-00c7-9a02-09b7-69e980dafd83", + "resource": { + "resourceType": "Observation", + "id": "eb4ec292-00c7-9a02-09b7-69e980dafd83", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:107c2dc0-67a5-11db-bd13-0800200c9a66" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "718-7", + "display": "Hemoglobin", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2008-03-20T00:30:00+08:00", + "valueQuantity": { + "value": "13.2", + "unit": "g/dL" + }, + "referenceRange": [ + { + "low": { + "value": "12.0", + "unit": "g/dL" + }, + "high": { + "value": "15.5", + "unit": "g/dL" + } + } + ], + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/eb4ec292-00c7-9a02-09b7-69e980dafd83" + } + }, + { + "fullUrl": "urn:uuid:91793394-4e7a-b396-6268-619dc0869bed", + "resource": { + "resourceType": "Observation", + "id": "91793394-4e7a-b396-6268-619dc0869bed", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:a69b3d60-2ffd-4440-958b-72b3335ff35f" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "6690-2", + "display": "Leukocytes", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2008-03-20T00:30:00+08:00", + "valueQuantity": { + "value": "6.7", + "unit": "10*9/L" + }, + "referenceRange": [ + { + "low": { + "value": "4.3", + "unit": "10*9/L" + }, + "high": { + "value": "10.8", + "unit": "10*9/L" + } + } + ], + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/91793394-4e7a-b396-6268-619dc0869bed" + } + }, + { + "fullUrl": "urn:uuid:9bab4c76-9698-d274-0cfa-115eafc08658", + "resource": { + "resourceType": "Observation", + "id": "9bab4c76-9698-d274-0cfa-115eafc08658", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:ef5c1c58-4665-4556-a8e8-6e720d82f572" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "777-3", + "display": "Platelets", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2008-03-20T00:30:00+08:00", + "valueQuantity": { + "value": "123", + "unit": "10*9/L" + }, + "referenceRange": [ + { + "low": { + "value": "150", + "unit": "10*9/L" + }, + "high": { + "value": "350", + "unit": "10*9/L" + } + } + ], + "interpretation": [ + { + "coding": [ + { + "code": "LX", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/9bab4c76-9698-d274-0cfa-115eafc08658" + } + }, + { + "fullUrl": "urn:uuid:176ead30-883e-9b8a-b21e-336e4992a714", + "resource": { + "resourceType": "Observation", + "id": "176ead30-883e-9b8a-b21e-336e4992a714", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:7c0704bb-9c40-41b5-9c7d-26b2d59e234f" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "4544-3", + "display": "Hematocrit", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2008-03-20T00:30:00+08:00", + "valueQuantity": { + "value": "35.3", + "unit": "%" + }, + "referenceRange": [ + { + "low": { + "value": "34.9", + "unit": "%" + }, + "high": { + "value": "44.5", + "unit": "%" + } + } + ], + "interpretation": [ + { + "coding": [ + { + "code": "LX", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/176ead30-883e-9b8a-b21e-336e4992a714" + } + }, + { + "fullUrl": "urn:uuid:a3cae148-2861-ce60-664f-758cf0c52887", + "resource": { + "resourceType": "Observation", + "id": "a3cae148-2861-ce60-664f-758cf0c52887", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:bccd6fc9-0c7f-455e-8616-923ed0d04d09" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "789-8", + "display": "Erythrocytes", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2008-03-20T00:30:00+08:00", + "valueQuantity": { + "value": "4.21", + "unit": "10*12/L" + }, + "referenceRange": [ + { + "low": { + "value": "3.90", + "unit": "10*12/L" + }, + "high": { + "value": "5.03", + "unit": "10*12/L" + } + } + ], + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/a3cae148-2861-ce60-664f-758cf0c52887" + } + }, + { + "fullUrl": "urn:uuid:0ec66926-8900-c1a8-53f8-a2042638d2fd", + "resource": { + "resourceType": "DiagnosticReport", + "id": "0ec66926-8900-c1a8-53f8-a2042638d2fd", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:122ed3ae-6d9e-43d0-bfa2-434ea34b1426" + } + ], + "status": "active", + "code": { + "coding": [ + { + "code": "166312007", + "display": "Blood chemistry test", + "system": "http://snomed.info/sct" + } + ] + }, + "effectivePeriod": { + "start": "2008-03-21T01:30:00+08:00", + "end": "2008-03-21T01:30:00+08:00" + }, + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + }, + "result": [ + { + "reference": "Observation/14d2ade8-4788-a395-e12f-5fc978073b6c" + } + ] + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/0ec66926-8900-c1a8-53f8-a2042638d2fd" + } + }, + { + "fullUrl": "urn:uuid:14d2ade8-4788-a395-e12f-5fc978073b6c", + "resource": { + "resourceType": "Observation", + "id": "14d2ade8-4788-a395-e12f-5fc978073b6c", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:aed821af-3330-4138-97f0-e84dfe5f3c35" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "active", + "code": { + "coding": [ + { + "code": "3094-0", + "display": "Urea nitrogen, Serum", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2008-03-21T01:30:00+08:00", + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/14d2ade8-4788-a395-e12f-5fc978073b6c" + } + }, + { + "fullUrl": "urn:uuid:93df79b5-aba0-d25b-43e4-5a203cc30fb1", + "resource": { + "resourceType": "Observation", + "id": "93df79b5-aba0-d25b-43e4-5a203cc30fb1", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:oid:2.16.840.1.113883.19", + "value": "123456789" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "72166-2", + "display": "Tobacco smoking status NHIS", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2012-09-10", + "valueCodeableConcept": { + "coding": [ + { + "code": "8517006", + "display": "Former smoker", + "system": "http://snomed.info/sct" + } + ] + }, + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/93df79b5-aba0-d25b-43e4-5a203cc30fb1" + } + }, + { + "fullUrl": "urn:uuid:06c3a616-9146-d982-b7ca-d3871ef981b9", + "resource": { + "resourceType": "Observation", + "id": "06c3a616-9146-d982-b7ca-d3871ef981b9", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:45efb604-7049-4a2e-ad33-d38556c9636c" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "11367-0", + "display": "History of tobacco use", + "system": "http://loinc.org" + } + ] + }, + "effectivePeriod": { + "start": "2009-02-14", + "end": "2011-02-15" + }, + "valueCodeableConcept": { + "coding": [ + { + "code": "160604004", + "display": "Moderate cigarette smoker, 10-19/day", + "system": "http://snomed.info/sct" + } + ] + }, + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/06c3a616-9146-d982-b7ca-d3871ef981b9" + } + }, + { + "fullUrl": "urn:uuid:8125b77f-4826-51f7-22dd-0458e27ccf9e", + "resource": { + "resourceType": "Observation", + "id": "8125b77f-4826-51f7-22dd-0458e27ccf9e", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:37f76c51-6411-4e1d-8a37-957fd49d2cef" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "74013-4", + "display": "Alcoholic drinks per day", + "system": "http://loinc.org" + } + ] + }, + "effectivePeriod": { + "start": "2012-02-15" + }, + "valueQuantity": { + "value": "12" + }, + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/8125b77f-4826-51f7-22dd-0458e27ccf9e" + } + }, + { + "fullUrl": "urn:uuid:727f3ab9-74ee-3e0b-d403-13310567ced5", + "resource": { + "resourceType": "Observation", + "id": "727f3ab9-74ee-3e0b-d403-13310567ced5", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:ed9589fd-fda0-41f7-a3d0-dc537554f5c2" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8302-2", + "display": "Height", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2012-09-10", + "valueQuantity": { + "value": "177", + "unit": "cm" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/727f3ab9-74ee-3e0b-d403-13310567ced5" + } + }, + { + "fullUrl": "urn:uuid:e394ff0e-9112-a813-2423-af4019c50bd8", + "resource": { + "resourceType": "Observation", + "id": "e394ff0e-9112-a813-2423-af4019c50bd8", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:f4e729e2-a97f-4a7e-8e23-c92f9b6b55cf" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "3141-9", + "display": "Patient Body Weight - Measured", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2012-09-10", + "valueQuantity": { + "value": "86", + "unit": "kg" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/e394ff0e-9112-a813-2423-af4019c50bd8" + } + }, + { + "fullUrl": "urn:uuid:3acfc8ef-1617-9bc4-74cc-0e602b3c4fe8", + "resource": { + "resourceType": "Observation", + "id": "3acfc8ef-1617-9bc4-74cc-0e602b3c4fe8", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:a0e39c70-9674-4b2a-9837-cdf74200d8d5" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8480-6", + "display": "Intravascular Systolic", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2012-09-10", + "valueQuantity": { + "value": "132", + "unit": "mm[Hg]" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/3acfc8ef-1617-9bc4-74cc-0e602b3c4fe8" + } + }, + { + "fullUrl": "urn:uuid:52bf4c6b-5531-cab1-a440-87302feaa219", + "resource": { + "resourceType": "Observation", + "id": "52bf4c6b-5531-cab1-a440-87302feaa219", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:1c2748b7-e440-41ba-bc01-dde97d84a036" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8462-4", + "display": "BP Diastolic", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2012-09-10", + "valueQuantity": { + "value": "88", + "unit": "mm[Hg]" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/52bf4c6b-5531-cab1-a440-87302feaa219" + } + }, + { + "fullUrl": "urn:uuid:5296ab05-6a75-e102-9814-e6d8a90fdbdf", + "resource": { + "resourceType": "Observation", + "id": "5296ab05-6a75-e102-9814-e6d8a90fdbdf", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:05c047cd-28c3-41cd-be6c-56f8cc0c3f2f" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8302-2", + "display": "Height", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2011-09-01", + "valueQuantity": { + "value": "177", + "unit": "cm" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/5296ab05-6a75-e102-9814-e6d8a90fdbdf" + } + }, + { + "fullUrl": "urn:uuid:33e54f57-b8f0-0fac-0107-732449ba4257", + "resource": { + "resourceType": "Observation", + "id": "33e54f57-b8f0-0fac-0107-732449ba4257", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:21b0f3d5-7d07-4f4f-ad7e-c33dc2ca3835" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "3141-9", + "display": "Patient Body Weight - Measured", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2011-09-01", + "valueQuantity": { + "value": "88", + "unit": "kg" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/33e54f57-b8f0-0fac-0107-732449ba4257" + } + }, + { + "fullUrl": "urn:uuid:995292f0-5dfb-dd53-02a5-eb79c41ef521", + "resource": { + "resourceType": "Observation", + "id": "995292f0-5dfb-dd53-02a5-eb79c41ef521", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:b046c35a-59c7-4215-ae09-9a8409a30b21" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8480-6", + "display": "BP Systolic", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2011-09-01", + "valueQuantity": { + "value": "128", + "unit": "mm[Hg]" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/995292f0-5dfb-dd53-02a5-eb79c41ef521" + } + }, + { + "fullUrl": "urn:uuid:eb96c437-9bf5-812c-05aa-4149da0f5b7b", + "resource": { + "resourceType": "Observation", + "id": "eb96c437-9bf5-812c-05aa-4149da0f5b7b", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:44f54e66-fb4b-4ee5-9ced-9574ef307a23" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8462-4", + "display": "BP Diastolic", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2011-09-01", + "valueQuantity": { + "value": "80", + "unit": "mm[Hg]" + }, + "interpretation": [ + { + "coding": [ + { + "code": "N", + "system": "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" + } + ] + } + ], + "subject": { + "reference": "Patient/aca97b95-3c1c-ce73-ac65-f520242997a9" + } + }, + "request": { + "method": "PUT", + "url": "Observation/eb96c437-9bf5-812c-05aa-4149da0f5b7b" + } + }, + { + "fullUrl": "urn:uuid:dea4254d-9e3d-cc2b-5008-447871e3f2eb", + "resource": { + "resourceType": "DocumentReference", + "id": "dea4254d-9e3d-cc2b-5008-447871e3f2eb", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "Summarization of Episode Note", + "system": "http://loinc.org" + } + ] + }, + "date": "2021-03-04T04:07:04.613Z", + "status": "current", + "content": [ + { + "attachment": { + "contentType": "text/plain", + "data": "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", + "hash": "ODJmODdmNjVjZDIwMDhmZGJiMzVjYmY5NGQ5ZWRmNzQ0ZWJiOTY0Ng==" + } + } + ] + }, + "request": { + "method": "PUT", + "url": "DocumentReference/dea4254d-9e3d-cc2b-5008-447871e3f2eb" + } + } + ] +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json new file mode 100644 index 000000000..2b2d1abac --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json @@ -0,0 +1,932 @@ +{ + "resourceType": "Bundle", + "type": "batch", + "entry": [ + { + "fullUrl": "urn:uuid:e6360b51-6a85-aa35-bf03-6e39c613870f", + "resource": { + "resourceType": "Composition", + "id": "e6360b51-6a85-aa35-bf03-6e39c613870f", + "identifier": { + "use": "official", + "value": "2.16.840.1.113883.19.5.99999.1" + }, + "status": "final", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "Summarization of Episode Note", + "system": "http://loinc.org" + } + ] + }, + "date": "2015-07-23T07:00:00+08:00", + "title": "CCD Demonstrating Replacement of Prior CCD", + "confidentiality": "N", + "attester": [ + { + "mode": "legal", + "time": "2015-07-22", + "party": { + "reference": "Practitioner/94866a00-1f48-91e8-9327-cc1da205e69b" + } + } + ], + "event": [ + { + "period": { + "start": "2015-07-23T07:00:00+08:00" + } + } + ], + "section": [ + { + "title": "ALLERGIES AND ADVERSE REACTIONS", + "text": { + "status": "generated", + "div": "
ALLERGIES AND ADVERSE REACTIONS
" + }, + "code": { + "coding": [ + { + "code": "48765-2", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "MEDICATIONS", + "text": { + "status": "generated", + "div": "
MEDICATIONS
" + }, + "code": { + "coding": [ + { + "code": "10160-0", + "display": "HISTORY OF MEDICATION USE", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Admission Medications", + "text": { + "status": "generated", + "div": "
Admission Medications
" + }, + "code": { + "coding": [ + { + "code": "42346-7", + "display": "MEDICATIONS ON ADMISSION", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Discharge Medications", + "text": { + "status": "generated", + "div": "
Discharge Medications
" + }, + "code": { + "coding": [ + { + "code": "10183-2", + "display": "Hospital Discharge Medications", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "PROBLEMS", + "text": { + "status": "generated", + "div": "
PROBLEMS
" + }, + "code": { + "coding": [ + { + "code": "11450-4", + "display": "PROBLEM LIST", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "ENCOUNTERS", + "text": { + "status": "generated", + "div": "
ENCOUNTERS
" + }, + "code": { + "coding": [ + { + "code": "46240-8", + "display": "History of encounters", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Procedures", + "text": { + "status": "generated", + "div": "
Procedures
" + }, + "code": { + "coding": [ + { + "code": "47519-4", + "display": "PROCEDURES", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "MEDICAL EQUIPMENT", + "text": { + "status": "generated", + "div": "
MEDICAL EQUIPMENT
" + }, + "code": { + "coding": [ + { + "code": "46264-8", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "IMMUNIZATIONS", + "text": { + "status": "generated", + "div": "
IMMUNIZATIONS
" + }, + "code": { + "coding": [ + { + "code": "11369-6", + "display": "History of immunizations", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "VITAL SIGNS", + "text": { + "status": "generated", + "div": "
VITAL SIGNS
" + }, + "code": { + "coding": [ + { + "code": "8716-3", + "display": "VITAL SIGNS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "SOCIAL HISTORY", + "text": { + "status": "generated", + "div": "
SOCIAL HISTORY
" + }, + "code": { + "coding": [ + { + "code": "29762-2", + "display": "Social History", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "RESULTS", + "text": { + "status": "generated", + "div": "
RESULTS
" + }, + "code": { + "coding": [ + { + "code": "30954-2", + "display": "RESULTS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "ASSESSMENTS", + "text": { + "status": "generated", + "div": "
ASSESSMENTS
" + }, + "code": { + "coding": [ + { + "code": "51848-0", + "display": "ASSESSMENTS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "TREATMENT PLAN", + "text": { + "status": "generated", + "div": "
TREATMENT PLAN
" + }, + "code": { + "coding": [ + { + "code": "18776-5", + "display": "Treatment plan", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Goals Section", + "text": { + "status": "generated", + "div": "
Goals Section
" + }, + "code": { + "coding": [ + { + "code": "61146-7", + "display": "Goals", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Health Concerns", + "text": { + "status": "generated", + "div": "
Health Concerns
" + }, + "code": { + "coding": [ + { + "code": "75310-3", + "display": "Health Concerns Document", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "HOSPITAL DISCHARGE INSTRUCTIONS", + "text": { + "status": "generated", + "div": "
HOSPITAL DISCHARGE INSTRUCTIONS
" + }, + "code": { + "coding": [ + { + "code": "8653-8", + "display": "HOSPITAL DISCHARGE INSTRUCTIONS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "MENTAL STATUS", + "text": { + "status": "generated", + "div": "
MENTAL STATUS
" + }, + "code": { + "coding": [ + { + "code": "10190-7", + "display": "MENTAL STATUS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "FUNCTIONAL STATUS", + "text": { + "status": "generated", + "div": "
FUNCTIONAL STATUS
" + }, + "code": { + "coding": [ + { + "code": "47420-5", + "display": "Functional Status", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Interventions Section", + "text": { + "status": "generated", + "div": "
Interventions Section
" + }, + "code": { + "coding": [ + { + "code": "62387-6", + "display": "Interventions Provided", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + } + ], + "subject": { + "reference": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + }, + "encounter": { + "reference": "Encounter/c98de50d-6b03-5072-e3db-0d3352273824" + }, + "custodian": { + "reference": "Organization/60584e77-f1e2-7864-31ce-931c9781c1dc" + }, + "author": [ + { + "reference": "Practitioner/c90aeaec-bb03-beee-f30a-9397bf62eb93" + } + ] + }, + "request": { + "method": "PUT", + "url": "Composition/e6360b51-6a85-aa35-bf03-6e39c613870f" + } + }, + { + "fullUrl": "urn:uuid:94866a00-1f48-91e8-9327-cc1da205e69b", + "resource": { + "resourceType": "Practitioner", + "id": "94866a00-1f48-91e8-9327-cc1da205e69b", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "999998899" + } + ], + "name": [ + { + "family": "Seven", + "given": [ + "Henry" + ], + "prefix": [ + "Dr" + ] + } + ], + "address": [ + { + "line": [ + "1002 Healthcare Dr" + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97266" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)-555-1002", + "use": "work" + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/94866a00-1f48-91e8-9327-cc1da205e69b" + } + }, + { + "fullUrl": "urn:uuid:c98de50d-6b03-5072-e3db-0d3352273824", + "resource": { + "resourceType": "Encounter", + "id": "c98de50d-6b03-5072-e3db-0d3352273824", + "status": "unknown", + "identifier": [ + { + "system": "urn:oid:2.16.840.1.113883.19", + "value": "9937012" + } + ], + "period": { + "start": "2015-07-23T07:00:00+08:00", + "end": "2015-07-23T12:00:00+08:00" + } + }, + "request": { + "method": "PUT", + "url": "Encounter/c98de50d-6b03-5072-e3db-0d3352273824" + } + }, + { + "fullUrl": "urn:uuid:60584e77-f1e2-7864-31ce-931c9781c1dc", + "resource": { + "resourceType": "Organization", + "id": "60584e77-f1e2-7864-31ce-931c9781c1dc", + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "99998899" + } + ], + "name": "Community Health and Hospitals", + "address": [ + { + "line": [ + "1002 Healthcare Dr" + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97266" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)-555-5000", + "use": "work" + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/60584e77-f1e2-7864-31ce-931c9781c1dc" + } + }, + { + "fullUrl": "urn:uuid:c90aeaec-bb03-beee-f30a-9397bf62eb93", + "resource": { + "resourceType": "Practitioner", + "id": "c90aeaec-bb03-beee-f30a-9397bf62eb93", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "111111" + } + ], + "name": [ + { + "family": "Seven", + "given": [ + "Henry" + ], + "prefix": [ + "Dr" + ] + } + ], + "address": [ + { + "line": [ + "1002 Healthcare Dr" + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "97266" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)-555-1002", + "use": "work" + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "code": "281P00000X", + "display": "Chronic Disease Hospital", + "system": "http://nucc.org/provider-taxonomy" + } + ] + } + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/c90aeaec-bb03-beee-f30a-9397bf62eb93" + } + }, + { + "fullUrl": "urn:uuid:89236d99-8509-7d3a-9dfb-a82c6b81d268", + "resource": { + "resourceType": "Patient", + "id": "89236d99-8509-7d3a-9dfb-a82c6b81d268", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-ssn", + "value": "414122222" + } + ], + "name": [ + { + "use": "usual", + "family": "Maur", + "given": [ + "Richard" + ], + "suffix": [ + "jr" + ] + } + ], + "birthDate": "1980-08-01", + "gender": "male", + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "UNK", + "display": "Unknown" + } + }, + { + "url": "ombCategory", + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "UNK", + "display": "Unknown" + } + }, + { + "url": "text", + "valueString": "Mixed" + } + ] + }, + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "system": "http://terminology.hl7.org/CodeSystem/v3-NullFlavor", + "code": "UNK", + "display": "Unknown" + } + }, + { + "url": "text", + "valueString": "Unknown" + } + ] + } + ], + "address": [ + { + "use": "home", + "line": [ + "1357 Amber Dr" + ], + "city": "Beaverton", + "state": "OR", + "country": "US", + "postalCode": "97006" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)-777-1234", + "use": "mobile" + }, + { + "system": "phone", + "value": "+1(555)-723-1544", + "use": "home" + } + ], + "communication": [ + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "en", + "display": "English" + } + ] + }, + "preferred": "true" + } + ] + }, + "request": { + "method": "PUT", + "url": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + } + }, + { + "fullUrl": "urn:uuid:9c900362-80a3-a844-0d6b-f34fcf42701a", + "resource": { + "resourceType": "AllergyIntolerance", + "id": "9c900362-80a3-a844-0d6b-f34fcf42701a", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:4adc1020-7b16-11db-9fe1-0832200c9a66" + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "patient": { + "reference": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + } + }, + "request": { + "method": "PUT", + "url": "AllergyIntolerance/9c900362-80a3-a844-0d6b-f34fcf42701a" + } + }, + { + "fullUrl": "urn:uuid:e8591e1e-9293-353e-29a2-f44b39769de1", + "resource": { + "resourceType": "MedicationStatement", + "id": "e8591e1e-9293-353e-29a2-f44b39769de1", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:cdbd33f0-6cde-11db-9fe1-0833200c9a66" + } + ], + "status": "active", + "subject": { + "reference": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + }, + "medicationReference": { + "reference": "Medication/45ca540d-7e15-d7a9-7158-7426191f7a72" + } + }, + "request": { + "method": "PUT", + "url": "MedicationStatement/e8591e1e-9293-353e-29a2-f44b39769de1" + } + }, + { + "fullUrl": "urn:uuid:45ca540d-7e15-d7a9-7158-7426191f7a72", + "resource": { + "resourceType": "Medication", + "id": "45ca540d-7e15-d7a9-7158-7426191f7a72", + "code": { + "coding": [ + { + "code": "410942007", + "display": "drug or medication", + "system": "http://snomed.info/sct" + } + ] + } + }, + "request": { + "method": "PUT", + "url": "Medication/45ca540d-7e15-d7a9-7158-7426191f7a72" + } + }, + { + "fullUrl": "urn:uuid:b2dd4321-dfd0-b8c6-8d51-e422d867482f", + "resource": { + "resourceType": "Condition", + "id": "b2dd4321-dfd0-b8c6-8d51-e422d867482f", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:4adc1021-7b14-11db-9fe1-0836200c9a67" + } + ], + "code": { + "coding": [ + { + "code": "55607006", + "display": "Problem", + "system": "http://snomed.info/sct" + } + ] + }, + "onsetDateTime": "2015-07-22", + "subject": { + "reference": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + } + }, + "request": { + "method": "PUT", + "url": "Condition/b2dd4321-dfd0-b8c6-8d51-e422d867482f" + } + }, + { + "fullUrl": "urn:uuid:06087fbf-6e75-889d-7d31-4723bf8b4c3f", + "resource": { + "resourceType": "Observation", + "id": "06087fbf-6e75-889d-7d31-4723bf8b4c3f", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:oid:2.16.840.1.113883.19", + "value": "123456789" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "72166-2", + "display": "Tobacco smoking status NHIS", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2015-07-22", + "valueCodeableConcept": { + "coding": [ + { + "code": "449868002", + "display": "Current every day smoker", + "system": "http://snomed.info/sct" + } + ] + }, + "subject": { + "reference": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + } + }, + "request": { + "method": "PUT", + "url": "Observation/06087fbf-6e75-889d-7d31-4723bf8b4c3f" + } + }, + { + "fullUrl": "urn:uuid:03266a30-3c1e-93bc-7784-7c2988855aeb", + "resource": { + "resourceType": "Observation", + "id": "03266a30-3c1e-93bc-7784-7c2988855aeb", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "76689-9", + "display": "Sex Assigned At Birth", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2015-07-22", + "valueCodeableConcept": { + "coding": [ + { + "code": "M", + "display": "Male", + "system": "urn:oid:2.16.840.1.113883.5.1" + } + ] + }, + "subject": { + "reference": "Patient/89236d99-8509-7d3a-9dfb-a82c6b81d268" + } + }, + "request": { + "method": "PUT", + "url": "Observation/03266a30-3c1e-93bc-7784-7c2988855aeb" + } + }, + { + "fullUrl": "urn:uuid:55ca462c-a6b4-0708-dffc-b5eaced1242d", + "resource": { + "resourceType": "DocumentReference", + "id": "55ca462c-a6b4-0708-dffc-b5eaced1242d", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "Summarization of Episode Note", + "system": "http://loinc.org" + } + ] + }, + "date": "2021-03-04T04:07:04.769Z", + "status": "current", + "content": [ + { + "attachment": { + "contentType": "text/plain", + "data": "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", + "hash": "ZDU1ZmI5MmRjYWM3ZjQ0NDEyYmYxYjMzZTNkOWFlZDc5OWRjYjU0Zg==" + } + } + ] + }, + "request": { + "method": "PUT", + "url": "DocumentReference/55ca462c-a6b4-0708-dffc-b5eaced1242d" + } + } + ] +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-expected.json new file mode 100644 index 000000000..344396645 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-expected.json @@ -0,0 +1,1226 @@ +{ + "resourceType": "Bundle", + "type": "batch", + "entry": [ + { + "fullUrl": "urn:uuid:22b8ebef-c61a-8e21-f3ec-2b45c128ec52", + "resource": { + "resourceType": "Composition", + "id": "22b8ebef-c61a-8e21-f3ec-2b45c128ec52", + "identifier": { + "use": "official", + "value": "be84a8e4-a22e-4210-a4a6-b3c48273e84c" + }, + "status": "final", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "Summarization of Episode Note", + "system": "http://loinc.org" + } + ] + }, + "date": "2014-10-15T23:30:26+08:00", + "title": "Summary of Patient Chart", + "confidentiality": "N", + "attester": [ + { + "mode": "legal", + "time": "2014-10-15T23:30:26+08:00", + "party": { + "reference": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + } + } + ], + "event": [ + { + "period": { + "start": "2014-10-01" + } + } + ], + "section": [ + { + "title": "ALLERGIES AND ADVERSE REACTIONS", + "text": { + "status": "generated", + "div": "
ALLERGIES AND ADVERSE REACTIONS
" + }, + "code": { + "coding": [ + { + "code": "48765-2", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "MEDICATIONS", + "text": { + "status": "generated", + "div": "
MEDICATIONS
" + }, + "code": { + "coding": [ + { + "code": "10160-0", + "display": "HISTORY OF MEDICATION USE", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "PROBLEMS", + "text": { + "status": "generated", + "div": "
PROBLEMS
" + }, + "code": { + "coding": [ + { + "code": "11450-4", + "display": "PROBLEM LIST", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "PROCEDURES", + "text": { + "status": "generated", + "div": "
PROCEDURES
" + }, + "code": { + "coding": [ + { + "code": "47519-4", + "display": "HISTORY OF PROCEDURES", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "RESULTS", + "text": { + "status": "generated", + "div": "
RESULTS
" + }, + "code": { + "coding": [ + { + "code": "30954-2", + "display": "RESULTS", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "SOCIAL HISTORY", + "text": { + "status": "generated", + "div": "
SOCIAL HISTORY
" + }, + "code": { + "coding": [ + { + "code": "29762-2", + "display": "Social History", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + }, + { + "title": "Vital Signs (Last Filed)", + "text": { + "status": "generated", + "div": "
Vital Signs (Last Filed)
" + }, + "code": { + "coding": [ + { + "code": "8716-3", + "display": "Vital Signs", + "system": "http://loinc.org" + } + ] + }, + "mode": "snapshot" + } + ], + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + }, + "custodian": { + "reference": "Organization/c0268e44-8b25-fc83-6d91-534ed12f794b" + }, + "author": [ + { + "reference": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + }, + { + "reference": "Device/d51e0d43-a5bb-d53e-b265-6a569b79e5ec" + }, + { + "reference": "Practitioner/[nullFlavor, NI]" + } + ] + }, + "request": { + "method": "PUT", + "url": "Composition/22b8ebef-c61a-8e21-f3ec-2b45c128ec52" + } + }, + { + "fullUrl": "urn:uuid:b0ac12ce-9e58-22b8-f79a-aba2409dac02", + "resource": { + "resourceType": "Practitioner", + "id": "b0ac12ce-9e58-22b8-f79a-aba2409dac02", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "identifier": [ + { + "system": "http://hl7.org/fhir/sid/us-npi", + "value": "5555555555" + } + ], + "name": [ + { + "family": "Primary", + "given": [ + "Patricia", + "Patty" + ], + "suffix": [ + "M.D." + ] + } + ], + "address": [ + { + "line": [ + "1004 Healthcare Drive " + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "99123" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-1004", + "use": "work" + } + ], + "qualification": [ + { + "code": { + "coding": [ + { + "code": "207QA0505X", + "display": "Adult Medicine", + "system": "http://nucc.org/provider-taxonomy" + } + ] + } + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/b0ac12ce-9e58-22b8-f79a-aba2409dac02" + } + }, + { + "fullUrl": "urn:uuid:c0268e44-8b25-fc83-6d91-534ed12f794b", + "resource": { + "resourceType": "Organization", + "id": "c0268e44-8b25-fc83-6d91-534ed12f794b", + "identifier": [ + { + "system": "urn:oid:1.1.1.1.1.1.1.1.3", + "value": "321CX" + } + ], + "name": "Good Health HIE", + "address": [ + { + "use": "work", + "line": [ + "1009 Healthcare Drive " + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "99123" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-1009", + "use": "work" + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/c0268e44-8b25-fc83-6d91-534ed12f794b" + } + }, + { + "fullUrl": "urn:uuid:d51e0d43-a5bb-d53e-b265-6a569b79e5ec", + "resource": { + "resourceType": "Device", + "id": "d51e0d43-a5bb-d53e-b265-6a569b79e5ec", + "type": { + "coding": [ + { + "display": "Generic EHR Clinical System 2.0.0.0.0.0" + } + ] + }, + "manufacturer": "Generic EHR Clinical System 2.0.0.0.0.0", + "version": [ + { + "value": "Generic EHR C-CDA Factory 2.0.0.0.0.0 - C-CDA Transform 2.0.0.0.0" + } + ], + "owner": { + "reference": "Organization/8be20678-75c3-0677-9d89-54eb10e09bc4" + } + }, + "request": { + "method": "PUT", + "url": "Device/d51e0d43-a5bb-d53e-b265-6a569b79e5ec" + } + }, + { + "fullUrl": "urn:uuid:8be20678-75c3-0677-9d89-54eb10e09bc4", + "resource": { + "resourceType": "Organization", + "id": "8be20678-75c3-0677-9d89-54eb10e09bc4", + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.22812.3.99930.3", + "value": "3" + } + ], + "name": "The Doctors Together Physician Group", + "address": [ + { + "line": [ + "1004 Healthcare Drive " + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "99123" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-1004" + } + ] + }, + "request": { + "method": "PUT", + "url": "Organization/8be20678-75c3-0677-9d89-54eb10e09bc4" + } + }, + { + "fullUrl": "urn:uuid:[nullFlavor, NI]", + "resource": { + "resourceType": "Practitioner", + "id": "[nullFlavor, NI]", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-practitioner" + ] + }, + "address": [ + { + "line": [ + "1004 Healthcare Drive " + ], + "city": "Portland", + "state": "OR", + "country": "US", + "postalCode": "99123" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(555)555-1004", + "use": "work" + } + ] + }, + "request": { + "method": "PUT", + "url": "Practitioner/[nullFlavor, NI]" + } + }, + { + "fullUrl": "urn:uuid:03a91833-bc93-2b74-b2a0-7851c2c34ebc", + "resource": { + "resourceType": "Patient", + "id": "03a91833-bc93-2b74-b2a0-7851c2c34ebc", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-patient" + ] + }, + "identifier": [ + { + "system": "urn:oid:1.3.6.1.4.1.16517.1", + "value": "98765432" + }, + { + "system": "http://hl7.org/fhir/sid/us-ssn", + "value": "12345679" + } + ], + "name": [ + { + "use": "usual", + "family": "Jones", + "given": [ + "Isabella" + ] + } + ], + "birthDate": "1950-12-19", + "gender": "female", + "extension": [ + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-race", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2106-3", + "display": "White", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "detailed", + "valueCoding": { + "code": "2114-7", + "display": "Italian", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "text", + "valueString": "Mixed" + } + ] + }, + { + "url": "http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity", + "extension": [ + { + "url": "ombCategory", + "valueCoding": { + "code": "2186-5", + "display": "Not Hispanic or Latino", + "system": "urn:oid:2.16.840.1.113883.6.238" + } + }, + { + "url": "text", + "valueString": "Not Hispanic or Latino" + } + ] + } + ], + "address": [ + { + "use": "home", + "line": [ + "4567 Residence Rd" + ], + "city": "Beaverton", + "state": "OR", + "country": "US", + "postalCode": "97867" + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(444)444-4444", + "use": "mobile" + }, + { + "system": "phone", + "value": "mailto://Isbella.Jones.CCD@gmail.com" + } + ], + "communication": [ + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "ita", + "display": "ita" + } + ] + }, + "preferred": "true" + }, + { + "language": { + "coding": [ + { + "system": "urn:ietf:bcp:47", + "code": "eng", + "display": "eng" + } + ] + }, + "preferred": "false" + } + ] + }, + "request": { + "method": "PUT", + "url": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + { + "fullUrl": "urn:uuid:aca85b80-fc89-0e88-bd74-fbc9fb03ab6b", + "resource": { + "resourceType": "RelatedPerson", + "id": "aca85b80-fc89-0e88-bd74-fbc9fb03ab6b", + "relationship": [ + { + "coding": [ + { + "code": "POWATT", + "display": "Power of Attorney", + "system": "urn:oid:2.16.840.1.113883.1.11.19830" + } + ] + } + ], + "name": [ + { + "family": "Jones", + "given": [ + "Boris", + "Bo" + ] + } + ], + "telecom": [ + { + "system": "phone", + "value": "+1(444)444-4444", + "use": "mobile" + } + ], + "address": [ + { + "use": "home", + "line": [ + "4567 Residence Rd" + ], + "city": "Beaverton", + "state": "OR", + "country": "US", + "postalCode": "97867" + } + ], + "patient": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "RelatedPerson/aca85b80-fc89-0e88-bd74-fbc9fb03ab6b" + } + }, + { + "fullUrl": "urn:uuid:a3b8a951-a8d3-23e1-e617-f657f630ce39", + "resource": { + "resourceType": "AllergyIntolerance", + "id": "a3b8a951-a8d3-23e1-e617-f657f630ce39", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:4adc1020-7b14-11db-9fe1-0800200c9a66" + } + ], + "clinicalStatus": { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/allergyintolerance-clinical", + "code": "active" + } + ] + }, + "reaction": [ + { + "substance": { + "coding": [ + { + "code": "105590001", + "display": "Substance", + "system": "http://snomed.info/sct" + } + ] + } + } + ], + "patient": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "AllergyIntolerance/a3b8a951-a8d3-23e1-e617-f657f630ce39" + } + }, + { + "fullUrl": "urn:uuid:bd36be73-f332-98bd-1467-02f3c4073d57", + "resource": { + "resourceType": "DiagnosticReport", + "id": "bd36be73-f332-98bd-1467-02f3c4073d57", + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:7d5a02b0-67a4-11db-bd13-0800200c9a66" + } + ], + "status": "active", + "code": { + "coding": [ + { + "code": "57782-5", + "display": "CBC with Ordered Manual Differential panel - Blood", + "system": "http://loinc.org" + } + ] + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + }, + "result": [ + { + "reference": "Observation/a7d42c65-6778-c269-0c8b-4642eeff9614" + } + ] + }, + "request": { + "method": "PUT", + "url": "DiagnosticReport/bd36be73-f332-98bd-1467-02f3c4073d57" + } + }, + { + "fullUrl": "urn:uuid:a7d42c65-6778-c269-0c8b-4642eeff9614", + "resource": { + "resourceType": "Observation", + "id": "a7d42c65-6778-c269-0c8b-4642eeff9614", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:68762391-bfa5-4dfa-9f6f-d37109a97d19" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "laboratory" + } + ] + } + ], + "status": "active", + "code": { + "coding": [ + { + "code": "804-5", + "display": "Leukocytes [#/​volume] in Blood by Manual count", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-15T23:30:26+08:00", + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/a7d42c65-6778-c269-0c8b-4642eeff9614" + } + }, + { + "fullUrl": "urn:uuid:ae1f6d15-a493-c87e-b164-31a29b6afee9", + "resource": { + "resourceType": "Observation", + "id": "ae1f6d15-a493-c87e-b164-31a29b6afee9", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:oid:2.16.840.1.113883.19", + "value": "123456789" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "social-history" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "72166-2", + "display": "Tobacco smoking status NHIS", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueCodeableConcept": { + "coding": [ + { + "code": "266927001", + "display": "Unknown if ever smoked", + "system": "http://snomed.info/sct" + } + ] + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/ae1f6d15-a493-c87e-b164-31a29b6afee9" + } + }, + { + "fullUrl": "urn:uuid:d99e9d72-8454-82de-93ec-5a74c1b684e6", + "resource": { + "resourceType": "Observation", + "id": "d99e9d72-8454-82de-93ec-5a74c1b684e6", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:fdbd831b-5919-4f06-9467-76b07022f8e8" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8480-6", + "display": "SYSTOLIC BLOOD PRESSURE", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "120", + "unit": "mm[Hg]" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/d99e9d72-8454-82de-93ec-5a74c1b684e6" + } + }, + { + "fullUrl": "urn:uuid:da2d9997-53d4-17ae-9ffc-95ac2123cf38", + "resource": { + "resourceType": "Observation", + "id": "da2d9997-53d4-17ae-9ffc-95ac2123cf38", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:553f3f45-9046-4659-b3e7-5de904003550" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8462-4", + "display": "DIASTOLIC BLOOD PRESSURE", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "80", + "unit": "mm[Hg]" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/da2d9997-53d4-17ae-9ffc-95ac2123cf38" + } + }, + { + "fullUrl": "urn:uuid:6e0fd377-bc36-b4df-516e-c721338a3669", + "resource": { + "resourceType": "Observation", + "id": "6e0fd377-bc36-b4df-516e-c721338a3669", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:77bfe276-a1dd-4372-9072-e603905acc07" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8867-4", + "display": "HEART RATE", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "80", + "unit": "/min" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/6e0fd377-bc36-b4df-516e-c721338a3669" + } + }, + { + "fullUrl": "urn:uuid:45db02aa-2e72-dc74-e569-a80461f94ae0", + "resource": { + "resourceType": "Observation", + "id": "45db02aa-2e72-dc74-e569-a80461f94ae0", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:24faa204-db62-4610-864f-cb50b650d0fa" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8310-5", + "display": "BODY TEMPERATURE", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "37.2", + "unit": "Cel" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/45db02aa-2e72-dc74-e569-a80461f94ae0" + } + }, + { + "fullUrl": "urn:uuid:88f96b35-12eb-a258-aeaf-b3d01f36ade5", + "resource": { + "resourceType": "Observation", + "id": "88f96b35-12eb-a258-aeaf-b3d01f36ade5", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:79f25395-8ec6-488b-8c05-becc97f79995" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "9279-1", + "display": "RESPIRATORY RATE", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "18", + "unit": "/min" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/88f96b35-12eb-a258-aeaf-b3d01f36ade5" + } + }, + { + "fullUrl": "urn:uuid:f88c6d9a-c4e7-3a72-2c53-8fd7297a4168", + "resource": { + "resourceType": "Observation", + "id": "f88c6d9a-c4e7-3a72-2c53-8fd7297a4168", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:6d3fa9f8-6049-41bd-b0c3-b0196bb6bd37" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "8302-2", + "display": "HEIGHT", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "170.2", + "unit": "cm" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/f88c6d9a-c4e7-3a72-2c53-8fd7297a4168" + } + }, + { + "fullUrl": "urn:uuid:4dff2936-c03f-8b79-3540-3ec97711ff3d", + "resource": { + "resourceType": "Observation", + "id": "4dff2936-c03f-8b79-3540-3ec97711ff3d", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:2594e631-2189-4e72-9dd1-d6769ee2a7be" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "3141-9", + "display": "WEIGHT", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "108.863", + "unit": "kg" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/4dff2936-c03f-8b79-3540-3ec97711ff3d" + } + }, + { + "fullUrl": "urn:uuid:1e66246a-eabe-adc8-c27c-28db781ea502", + "resource": { + "resourceType": "Observation", + "id": "1e66246a-eabe-adc8-c27c-28db781ea502", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:5858e765-2ffe-413f-9197-260f2c6e7aa8" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "39156-5", + "display": "BODY MASS INDEX", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "37.58", + "unit": "kg/m2" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/1e66246a-eabe-adc8-c27c-28db781ea502" + } + }, + { + "fullUrl": "urn:uuid:4df6e5aa-37bd-3362-a85e-21765757598b", + "resource": { + "resourceType": "Observation", + "id": "4df6e5aa-37bd-3362-a85e-21765757598b", + "meta": { + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/us-core-observationresults" + ] + }, + "identifier": [ + { + "system": "urn:ietf:rfc:3986", + "value": "urn:uuid:4ce6046c-f6e3-41b0-91fc-2d5325f2bbc3" + } + ], + "category": [ + { + "coding": [ + { + "system": "http://terminology.hl7.org/CodeSystem/observation-category", + "code": "vital-signs" + } + ] + } + ], + "status": "final", + "code": { + "coding": [ + { + "code": "2710-2", + "display": "OXYGEN SATURATION", + "system": "http://loinc.org" + } + ] + }, + "effectiveDateTime": "2014-10-01T23:30:26+08:00", + "valueQuantity": { + "value": "98", + "unit": "%" + }, + "subject": { + "reference": "Patient/03a91833-bc93-2b74-b2a0-7851c2c34ebc" + } + }, + "request": { + "method": "PUT", + "url": "Observation/4df6e5aa-37bd-3362-a85e-21765757598b" + } + }, + { + "fullUrl": "urn:uuid:f7ed251c-a417-c1b1-f597-6cdf20f8c259", + "resource": { + "resourceType": "DocumentReference", + "id": "f7ed251c-a417-c1b1-f597-6cdf20f8c259", + "type": { + "coding": [ + { + "code": "34133-9", + "display": "Summarization of Episode Note", + "system": "http://loinc.org" + } + ] + }, + "date": "2021-03-04T04:07:04.887Z", + "status": "current", + "content": [ + { + "attachment": { + "contentType": "text/plain", + "data": "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", + "hash": "MmE4NTExN2NlNDAzOWY3M2JmNTFlNmFhM2YzYmQ3NmYwYzVmZTVmZQ==" + } + } + ] + }, + "request": { + "method": "PUT", + "url": "DocumentReference/f7ed251c-a417-c1b1-f597-6cdf20f8c259" + } + } + ] +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs index b400d33e0..15aa77f32 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs @@ -7,6 +7,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; using Microsoft.Health.Fhir.Liquid.Converter.Models; @@ -18,6 +19,7 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.Tool internal static class ConverterLogicHandler { private const string MetadataFileName = "metadata.json"; + private static readonly List CdaExtensions = new List { ".cda", ".xml" }; internal static void Convert(ConverterOptions options) { @@ -92,22 +94,22 @@ private static DataType GetDataTypes(string templateDirectory) private static IFhirConverter CreateDataProcessor(DataType dataType) { - if (dataType == DataType.Hl7v2) + return dataType switch { - return new Hl7v2Processor(); - } - - throw new NotImplementedException($"The conversion from data type {dataType} to FHIR is not supported"); + DataType.Hl7v2 => new Hl7v2Processor(), + DataType.Cda => new CdaProcessor(), + _ => throw new NotImplementedException($"The conversion from data type {dataType} to FHIR is not supported") + }; } private static ITemplateProvider CreateTemplateProvider(DataType dataType, string templateDirectory) { - if (dataType == DataType.Hl7v2) + return dataType switch { - return new Hl7v2TemplateProvider(templateDirectory); - } - - throw new NotImplementedException($"The conversion from data type {dataType} to FHIR is not supported"); + DataType.Hl7v2 => new Hl7v2TemplateProvider(templateDirectory), + DataType.Cda => new CdaTemplateProvider(templateDirectory), + _ => throw new NotImplementedException($"The conversion from data type {dataType} to FHIR is not supported") + }; } private static TraceInfo CreateTraceInfo(DataType dataType, bool isTraceInfo) @@ -117,12 +119,13 @@ private static TraceInfo CreateTraceInfo(DataType dataType, bool isTraceInfo) private static List GetInputFiles(DataType dataType, string inputDataFolder) { - if (dataType == DataType.Hl7v2) + return dataType switch { - return Directory.EnumerateFiles(inputDataFolder, "*.hl7", SearchOption.AllDirectories).ToList(); - } - - return new List(); + DataType.Hl7v2 => Directory.EnumerateFiles(inputDataFolder, "*.hl7", SearchOption.AllDirectories).ToList(), + DataType.Cda => Directory.EnumerateFiles(inputDataFolder, "*.*", SearchOption.AllDirectories) + .Where(x => CdaExtensions.Contains(Path.GetExtension(x).ToLower())).ToList(), + _ => new List(), + }; } private static void SaveConverterResult(string outputFilePath, ConverterResult result) @@ -136,18 +139,18 @@ private static void SaveConverterResult(string outputFilePath, ConverterResult r private static bool IsValidOptions(ConverterOptions options) { - var contentTofile = !string.IsNullOrEmpty(options.InputDataContent) && + var contentToFile = !string.IsNullOrEmpty(options.InputDataContent) && !string.IsNullOrEmpty(options.OutputDataFile) && string.IsNullOrEmpty(options.InputDataFolder) && string.IsNullOrEmpty(options.OutputDataFolder); - var folderTofolder = string.IsNullOrEmpty(options.InputDataContent) && + var folderToFolder = string.IsNullOrEmpty(options.InputDataContent) && string.IsNullOrEmpty(options.OutputDataFile) && !string.IsNullOrEmpty(options.InputDataFolder) && !string.IsNullOrEmpty(options.OutputDataFolder) && !IsSameDirectory(options.InputDataFolder, options.OutputDataFolder); - return contentTofile || folderTofolder; + return contentToFile || folderToFolder; } private static bool IsSameDirectory(string inputFolder, string outputFolder) diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs new file mode 100644 index 000000000..36bfe1547 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs @@ -0,0 +1,88 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using System.IO; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; +using Microsoft.Health.Fhir.Liquid.Converter.Models; +using Xunit; + +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Cda +{ + public class CdaDataParserTests + { + private readonly CdaDataParser _parser = new CdaDataParser(); + + public static IEnumerable GetNullOrEmptyCdaDocument() + { + yield return new object[] { null }; + yield return new object[] { string.Empty }; + } + + public static IEnumerable GetInvalidCdaDocument() + { + yield return new object[] { "\n" }; + yield return new object[] { "abc" }; + yield return new object[] { @"" }; + } + + [Theory] + [MemberData(nameof(GetNullOrEmptyCdaDocument))] + public void GivenNullOrEmptyData_WhenParse_ExceptionShouldBeThrown(string input) + { + var exception = Assert.Throws(() => _parser.Parse(input)); + Assert.Equal(FhirConverterErrorCode.InputParsingError, exception.FhirConverterErrorCode); + + var innerException = exception.InnerException as FhirConverterException; + Assert.True(innerException is DataParseException); + Assert.Equal(FhirConverterErrorCode.NullOrEmptyInput, innerException.FhirConverterErrorCode); + } + + [Theory] + [MemberData(nameof(GetInvalidCdaDocument))] + public void GivenInvalidCdaDocument_WhenParse_ExceptionShouldBeThrown(string input) + { + var exception = Assert.Throws(() => _parser.Parse(input)); + Assert.Equal(FhirConverterErrorCode.InputParsingError, exception.FhirConverterErrorCode); + } + + [Fact] + public void GivenCdaDocument_WhenParse_CorrectResultShouldBeReturned() + { + // Sample CCD document + var document = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Cda", "CCD.cda")); + var data = _parser.Parse(document); + Assert.NotNull(data); + Assert.NotNull(((Dictionary)data).GetValueOrDefault("msg")); + + // Document that contains redundant namespaces "xmlns:cda" + // It is removed in the parsed data + document = "" + + ""; + data = _parser.Parse(document); + var contents = + ((data as Dictionary) + ?.GetValueOrDefault("msg") as Dictionary) + ?.GetValueOrDefault("ClinicalDocument") as Dictionary; + Assert.Equal(3, contents?.Count); + Assert.Equal("http://www.w3.org/2001/XMLSchema-instance", contents?["xmlns:xsi"]); + Assert.Equal("urn:hl7-org:v3", contents?["xmlns"]); + Assert.Equal("urn:hl7-org:sdtc", contents?["xmlns:sdtc"]); + + // Document that contains non-default namespace prefix "sdtc" in elements + // "sdtc:raceCode" is parsed into "sdtc_raceCode" + document = "" + + "" + + ""; + data = _parser.Parse(document); + contents = + ((data as Dictionary) + ?.GetValueOrDefault("msg") as Dictionary) + ?.GetValueOrDefault("ClinicalDocument") as Dictionary; + Assert.NotNull(contents?["sdtc_raceCode"]); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs new file mode 100644 index 000000000..8cce76823 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs @@ -0,0 +1,131 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.IO; +using System.Threading; +using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; +using Microsoft.Health.Fhir.Liquid.Converter.Models; +using Xunit; + +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Cda +{ + public class CdaProcessorTests + { + private static readonly string TestData; + + static CdaProcessorTests() + { + TestData = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Cda", "CCD.cda")); + } + + [Fact] + public void GivenAValidTemplateDirectory_WhenConvert_CorrectResultShouldBeReturned() + { + var processor = new CdaProcessor(); + var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var result = processor.Convert(TestData, "CCD", templateProvider); + Assert.True(result.Length > 0); + } + + [Fact] + public void GivenAValidTemplateCollection_WhenConvert_CorrectResultShouldBeReturned() + { + var processor = new CdaProcessor(); + var templateCollection = new List> + { + new Dictionary + { + { "TemplateName", Template.Parse(@"{""a"":""b""}") }, + }, + }; + + var templateProvider = new CdaTemplateProvider(templateCollection); + var result = processor.Convert(TestData, "TemplateName", templateProvider); + Assert.True(result.Length > 0); + } + + [Fact] + public void GivenInvalidTemplateProviderOrName_WhenConvert_ExceptionsShouldBeThrown() + { + var processor = new CdaProcessor(); + var templateCollection = new List> + { + new Dictionary + { + { "TemplateName", Template.Parse(@"{""a"":""b""}") }, + }, + }; + + var templateProvider = new CdaTemplateProvider(templateCollection); + + // Null, empty or nonexistent root template + var exception = Assert.Throws(() => processor.Convert(TestData, null, templateProvider)); + Assert.Equal(FhirConverterErrorCode.NullOrEmptyRootTemplate, exception.FhirConverterErrorCode); + + exception = Assert.Throws(() => processor.Convert(TestData, string.Empty, templateProvider)); + Assert.Equal(FhirConverterErrorCode.NullOrEmptyRootTemplate, exception.FhirConverterErrorCode); + + exception = Assert.Throws(() => processor.Convert(TestData, "NonExistentTemplateName", templateProvider)); + Assert.Equal(FhirConverterErrorCode.TemplateNotFound, exception.FhirConverterErrorCode); + + // Null TemplateProvider + exception = Assert.Throws(() => processor.Convert(TestData, "TemplateName", null)); + Assert.Equal(FhirConverterErrorCode.NullTemplateProvider, exception.FhirConverterErrorCode); + } + + [Fact] + public void GivenProcessorSettings_WhenConvert_CorrectResultsShouldBeReturned() + { + // Null ProcessorSettings: no time out + var processor = new CdaProcessor(null); + var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var result = processor.Convert(TestData, "CCD", templateProvider); + Assert.True(result.Length > 0); + + // Default ProcessorSettings: no time out + processor = new CdaProcessor(new ProcessorSettings()); + result = processor.Convert(TestData, "CCD", templateProvider); + Assert.True(result.Length > 0); + + // Positive time out ProcessorSettings: exception thrown when time out + var settings = new ProcessorSettings() + { + TimeOut = 1, + }; + + processor = new CdaProcessor(settings); + var exception = Assert.Throws(() => processor.Convert(TestData, "CCD", templateProvider)); + Assert.Equal(FhirConverterErrorCode.TimeoutError, exception.FhirConverterErrorCode); + Assert.True(exception.InnerException is TimeoutException); + + // Negative time out ProcessorSettings: no time out + settings = new ProcessorSettings() + { + TimeOut = -1, + }; + + processor = new CdaProcessor(settings); + result = processor.Convert(TestData, "CCD", templateProvider); + Assert.True(result.Length > 0); + } + + [Fact] + public void GivenCancellationToken_WhenConvert_CorrectResultsShouldBeReturned() + { + var processor = new CdaProcessor(); + var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var cts = new CancellationTokenSource(); + var result = processor.Convert(TestData, "CCD", templateProvider, cts.Token); + Assert.True(result.Length > 0); + + cts.Cancel(); + Assert.Throws(() => processor.Convert(TestData, "CCD", templateProvider, cts.Token)); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs new file mode 100644 index 000000000..1f4b4ae0d --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs @@ -0,0 +1,40 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using System.IO; +using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; +using Xunit; + +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Cda +{ + public class CdaTemplateProviderTests + { + [Fact] + public void GivenATemplateDirectory_WhenLoadTemplates_CorrectResultsShouldBeReturned() + { + // Valid template directory + var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + Assert.NotNull(templateProvider.GetTemplate("CCD")); + + // Invalid template directory + Assert.Throws(() => new CdaTemplateProvider(string.Empty)); + Assert.Throws(() => new CdaTemplateProvider(Path.Join("a", "b", "c"))); + + // Template collection + var collection = new List>() + { + new Dictionary() + { + { "foo", Template.Parse("bar") }, + }, + }; + templateProvider = new CdaTemplateProvider(collection); + Assert.NotNull(templateProvider.GetTemplate("foo")); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs index f44a3e315..2dee02015 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs @@ -9,6 +9,9 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests { public static class Constants { - public static readonly string Hl7v2TemplateDirectory = Path.Join("..", "..", "data", "Templates", "Hl7v2"); + public static readonly string SampleDataDirectory = Path.Join("..", "..", "data", "SampleData"); + public static readonly string TemplateDirectory = Path.Join("..", "..", "data", "Templates"); + public static readonly string Hl7v2TemplateDirectory = Path.Join(TemplateDirectory, "Hl7v2"); + public static readonly string CdaTemplateDirectory = Path.Join(TemplateDirectory, "Cda"); } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs new file mode 100644 index 000000000..202e88fc6 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs @@ -0,0 +1,66 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using System.Globalization; +using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Xunit; + +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.FilterTests +{ + public class CollectionFiltersTest + { + [Fact] + public void ToArrayTests() + { + Assert.Empty(Filters.ToArray(null)); + Assert.Single(Filters.ToArray(1)); + Assert.Equal(2, Filters.ToArray(new List { null, string.Empty }).Count); + } + + [Fact] + public void ConcatTests() + { + Assert.Empty(Filters.Concat(null, null)); + Assert.Equal(2, Filters.Concat(new List { string.Empty, null }, null).Count); + Assert.Equal(2, Filters.Concat(new List { string.Empty, null }, new List()).Count); + } + + [Fact] + public void BatchRenderTests() + { + // No template file system and null collection + var context = new Context(CultureInfo.InvariantCulture); + Assert.Equal(string.Empty, Filters.BatchRender(context, null, "foo", "bar")); + + // Valid template file system and template + var templateCollection = new List> + { + new Dictionary + { + { "foo", Template.Parse("{{ i }} ") }, + }, + }; + var templateProvider = new CdaTemplateProvider(templateCollection); + context = new Context( + new List(), + new Hash(), + Hash.FromDictionary(new Dictionary() { { "file_system", templateProvider.GetTemplateFileSystem() } }), + ErrorsOutputMode.Rethrow, + 0, + 0, + CultureInfo.InvariantCulture); + var collection = new List { 1, 2, 3 }; + Assert.Equal("1 2 3 ", Filters.BatchRender(context, collection, "foo", "i")); + + // Valid template file system but null collection + Assert.Equal(string.Empty, Filters.BatchRender(context, null, "foo", "i")); + + // Valid template file system but non-existing template + Assert.Equal(string.Empty, Filters.BatchRender(context, collection, "bar", "i")); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/DateFiltersTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/DateFiltersTests.cs index 854c09e73..645d1fa66 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/DateFiltersTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/DateFiltersTests.cs @@ -3,6 +3,7 @@ // Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. // ------------------------------------------------------------------------------------------------- +using System; using System.Collections.Generic; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Xunit; @@ -89,5 +90,37 @@ public void GivenAnInvalidHl7v2DateTime_WhenFormatAsDateTime_ExceptionShouldBeTh { Assert.Throws(() => Filters.FormatAsDateTime(input)); } + + [Fact] + public void NowTest() + { + // FHIR DateTime format + var dateTime = DateTime.Parse(Filters.Now(string.Empty)); + Assert.True(dateTime.Year > 2020); + Assert.True(dateTime.Month >= 1 && dateTime.Month < 13); + Assert.True(dateTime.Day >= 1 && dateTime.Day < 32); + + // Standard DateTime format, "d" stands for short day pattern + var nowWithStandardFormat = Filters.Now(string.Empty, "d"); + Assert.Contains("/", nowWithStandardFormat); + + // Customized DateTime format + var days = new List { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; + var nowWithCustomizedFormat = Filters.Now(string.Empty, "dddd, dd MMMM yyyy HH:mm:ss"); + Assert.Contains(days, day => nowWithCustomizedFormat.StartsWith(day)); + + // Null and empty format will lead to default format, which is short day with long time + dateTime = DateTime.Parse(Filters.Now(string.Empty, null)); + Assert.True(dateTime.Year > 2020); + Assert.True(dateTime.Month >= 1 && dateTime.Month < 13); + Assert.True(dateTime.Day >= 1 && dateTime.Day < 32); + dateTime = DateTime.Parse(Filters.Now(string.Empty, string.Empty)); + Assert.True(dateTime.Year > 2020); + Assert.True(dateTime.Month >= 1 && dateTime.Month < 13); + Assert.True(dateTime.Day >= 1 && dateTime.Day < 32); + + // Invalid DateTime format + Assert.Throws(() => Filters.Now(string.Empty, "a")); + } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs new file mode 100644 index 000000000..3f5e3b478 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs @@ -0,0 +1,96 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.IO; +using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Xunit; + +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.FilterTests +{ + public class SectionFiltersTests + { + [Fact] + public void GetFirstCdaSectionsTests() + { + const string sectionNameContent = "Problems|Medications|Foo"; + + // Empty data + Assert.Empty(Filters.GetFirstCdaSections(new Hash(), sectionNameContent)); + + // Empty section name content + var data = LoadTestData() as Dictionary; + var msg = data?.GetValueOrDefault("msg") as IDictionary; + Assert.Empty(Filters.GetFirstCdaSections(Hash.FromDictionary(msg), string.Empty)); + + // Valid data and section name content + var sections = Filters.GetFirstCdaSections(Hash.FromDictionary(msg), sectionNameContent); + Assert.Equal(2, sections.Count); + Assert.Equal(5, ((Dictionary)sections["Problems"]).Count); + + // Null data or section name content + Assert.Throws(() => Filters.GetFirstCdaSections(null, sectionNameContent)); + Assert.Throws(() => Filters.GetFirstCdaSections(new Hash(), null)); + } + + [Fact] + public void GetCdaSectionListsTests() + { + const string sectionNameContent = "Problems|Medications|Foo"; + + // Empty data + Assert.Empty(Filters.GetCdaSectionLists(new Hash(), sectionNameContent)); + + // Empty section name content + var data = LoadTestData() as Dictionary; + var msg = data?.GetValueOrDefault("msg") as IDictionary; + Assert.Empty(Filters.GetCdaSectionLists(Hash.FromDictionary(msg), string.Empty)); + + // Valid data and section name content + var sectionLists = Filters.GetCdaSectionLists(Hash.FromDictionary(msg), sectionNameContent); + Assert.Equal(2, sectionLists.Count); + + var sections = (List)sectionLists["Problems"]; + Assert.Single(sections); + Assert.Equal(5, ((Dictionary)sections[0]).Count); + + // Null data or section name content + Assert.Throws(() => Filters.GetCdaSectionLists(null, sectionNameContent)); + Assert.Throws(() => Filters.GetCdaSectionLists(new Hash(), null)); + } + + [Fact] + public void GetFirstCdaSectionsByTemplateIdTests() + { + const string templateIdContent = "2.16.840.1.113883.10.20.22.2.6.1"; + + // Empty data + Assert.Empty(Filters.GetFirstCdaSectionsByTemplateId(new Hash(), templateIdContent)); + + // Empty template id content + var data = LoadTestData() as Dictionary; + var msg = data?.GetValueOrDefault("msg") as IDictionary; + Assert.Empty(Filters.GetFirstCdaSectionsByTemplateId(Hash.FromDictionary(msg), string.Empty)); + + // Valid data and template id content + var sections = Filters.GetFirstCdaSectionsByTemplateId(Hash.FromDictionary(msg), templateIdContent); + Assert.Single(sections); + Assert.Equal(5, ((Dictionary)sections["2_16_840_1_113883_10_20_22_2_6_1"]).Count); + + // Null data or template id content + Assert.Throws(() => Filters.GetFirstCdaSectionsByTemplateId(null, templateIdContent)); + Assert.Throws(() => Filters.GetFirstCdaSectionsByTemplateId(new Hash(), null)); + } + + private static IDictionary LoadTestData() + { + var parser = new CdaDataParser(); + var dataContent = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Cda", "170.314B2_Amb_CCD.cda")); + return parser.Parse(dataContent); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/StringFiltersTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/StringFiltersTests.cs index 8d8649d97..1029922fc 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/StringFiltersTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/StringFiltersTests.cs @@ -4,6 +4,7 @@ // ------------------------------------------------------------------------------------------------- using System; +using System.Collections.Generic; using Xunit; namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.FilterTests @@ -44,5 +45,70 @@ public void UnescapeSpecialCharsTest() Assert.Equal(string.Empty, Filters.UnescapeSpecialChars(string.Empty)); Assert.Null(Filters.UnescapeSpecialChars(null)); } + + [Fact] + public void MatchTest() + { + Assert.Empty(Filters.Match(string.Empty, "[0-9]")); + Assert.Empty(Filters.Match(null, "[0-9]")); + Assert.Single(Filters.Match("foo1", "[0-9]")); + + Assert.Throws(() => Filters.Match("foo1", null)); + Assert.ThrowsAny(() => Filters.Match("foo1", "[a-z")); + } + + [Fact] + public void ToJsonStringTests() + { + Assert.Null(Filters.ToJsonString(null)); + Assert.Equal(@"[""a"",""b""]", Filters.ToJsonString(new List() { "a", "b" })); + } + + [Fact] + public void GzipTest() + { + Assert.Equal("H4sIAAAAAAAACivNS87PLShKLS5OTQEA3a5CsQwAAAA=", Filters.Gzip("uncompressed")); + Assert.Equal("uncompressed", Filters.GunzipBase64String(Filters.Gzip("uncompressed"))); + Assert.Equal(string.Empty, Filters.Gzip(string.Empty)); + + Assert.Throws(() => Filters.Gzip(null)); + } + + [Fact] + public void GunzipBase64StringTest() + { + Assert.Equal("uncompressed", Filters.GunzipBase64String("H4sIAAAAAAAACivNS87PLShKLS5OTQEA3a5CsQwAAAA=")); + Assert.Equal("H4sIAAAAAAAACivNS87PLShKLS5OTQEA3a5CsQwAAAA=", Filters.Gzip(Filters.GunzipBase64String("H4sIAAAAAAAACivNS87PLShKLS5OTQEA3a5CsQwAAAA="))); + Assert.Equal(string.Empty, Filters.GunzipBase64String(string.Empty)); + + Assert.Throws(() => Filters.GunzipBase64String(null)); + } + + [Fact] + public void Sha1HashTest() + { + Assert.Equal("a9993e364706816aba3e25717850c26c9cd0d89d", Filters.Sha1Hash("abc")); + Assert.Equal("da39a3ee5e6b4b0d3255bfef95601890afd80709", Filters.Sha1Hash(string.Empty)); + + Assert.Throws(() => Filters.Sha1Hash(null)); + } + + [Fact] + public void Base64EncodeTest() + { + Assert.Equal("YSJi", Filters.Base64Encode(@"a""b")); + Assert.Equal(string.Empty, Filters.Base64Encode(string.Empty)); + + Assert.Throws(() => Filters.Base64Encode(null)); + } + + [Fact] + public void Base64DecodeTest() + { + Assert.Equal(@"a""b", Filters.Base64Decode("YSJi")); + Assert.Equal(string.Empty, Filters.Base64Decode(string.Empty)); + + Assert.Throws(() => Filters.Base64Decode(null)); + } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2DataParserTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2DataParserTests.cs index 69f0bc1eb..6452d345d 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2DataParserTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2DataParserTests.cs @@ -15,7 +15,7 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Hl7v2 { public class Hl7v2DataParserTests { - private Hl7v2DataParser _parser = new Hl7v2DataParser(); + private readonly Hl7v2DataParser _parser = new Hl7v2DataParser(); public static IEnumerable GetNullOrEmptyHl7v2Message() { @@ -25,7 +25,7 @@ public static IEnumerable GetNullOrEmptyHl7v2Message() [Theory] [MemberData(nameof(GetNullOrEmptyHl7v2Message))] - public void GivenNullOrEmptyHl7v2Message_WhenParse_CorrectHl7v2DataShouldBeReturned(string input) + public void GivenNullOrEmptyHl7v2Message_WhenParse_ExceptionShouldBeThrown(string input) { var exception = Assert.Throws(() => _parser.Parse(input)); Assert.Equal(FhirConverterErrorCode.InputParsingError, exception.FhirConverterErrorCode); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2ProcessorTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2ProcessorTests.cs index 7633b0dc0..2704f468a 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2ProcessorTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2ProcessorTests.cs @@ -5,11 +5,14 @@ using System; using System.Collections.Generic; +using System.IO; +using System.Linq; using System.Threading; using DotLiquid; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.Liquid.Converter.Models; +using Newtonsoft.Json.Linq; using Xunit; namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Hl7v2 @@ -154,5 +157,22 @@ public void GivenCancellationToken_WhenConvert_CorrectResultsShouldBeReturned() cts.Cancel(); Assert.Throws(() => processor.Convert(TestData, "ORU_R01", templateProvider, cts.Token)); } + + [Fact] + public void GivenEscapedMessage_WhenConverting_ExpectedCharacterShouldBeReturned() + { + var hl7v2Processor = new Hl7v2Processor(); + var templateDirectory = Path.Join(AppDomain.CurrentDomain.BaseDirectory, Constants.TemplateDirectory, "Hl7v2"); + var inputContent = string.Join("\n", new List + { + @"MSH|^~\&|FOO|BAR|FOO|BAR|20201225000000|FOO|ADT^A01|123456|P|2.3|||||||||||", + @"PR1|1|FOO|FOO^ESCAPED ONE \T\ ESCAPED TWO^BAR|ESCAPED THREE \T\ ESCAPED FOUR|20201225000000||||||||||", + }); + var result = JObject.Parse(hl7v2Processor.Convert(inputContent, "ADT_A01", new Hl7v2TemplateProvider(templateDirectory))); + + var texts = result.SelectTokens("$.entry[?(@.resource.resourceType == 'Procedure')].resource.code.text").Select(Convert.ToString); + var expected = new List { "ESCAPED ONE & ESCAPED TWO", "ESCAPED THREE & ESCAPED FOUR" }; + Assert.NotEmpty(texts.Intersect(expected)); + } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2TemplateProviderTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2TemplateProviderTests.cs index 6ec1f5a1b..75a27cc2c 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2TemplateProviderTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Hl7v2/Hl7v2TemplateProviderTests.cs @@ -19,13 +19,22 @@ public void GivenATemplateDirectory_WhenLoadTemplates_CorrectResultsShouldBeRetu { // Valid template directory var templateProvider = new Hl7v2TemplateProvider(Constants.Hl7v2TemplateDirectory); + Assert.NotNull(templateProvider.GetTemplate("ADT_A01")); // Invalid template directory Assert.Throws(() => new Hl7v2TemplateProvider(string.Empty)); Assert.Throws(() => new Hl7v2TemplateProvider(Path.Join("a", "b", "c"))); // Template collection - templateProvider = new Hl7v2TemplateProvider(new List>()); + var collection = new List>() + { + new Dictionary() + { + { "foo", Template.Parse("bar") }, + }, + }; + templateProvider = new Hl7v2TemplateProvider(collection); + Assert.NotNull(templateProvider.GetTemplate("foo")); } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/BaseProcessor.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/BaseProcessor.cs new file mode 100644 index 000000000..f02c54e9b --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/BaseProcessor.cs @@ -0,0 +1,76 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Threading; +using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; +using Microsoft.Health.Fhir.Liquid.Converter.Models; + +namespace Microsoft.Health.Fhir.Liquid.Converter +{ + public abstract class BaseProcessor : IFhirConverter + { + private readonly ProcessorSettings _settings; + + protected BaseProcessor(ProcessorSettings processorSettings = null) + { + _settings = processorSettings; + } + + public string Convert(string data, string rootTemplate, ITemplateProvider templateProvider, CancellationToken cancellationToken, TraceInfo traceInfo = null) + { + cancellationToken.ThrowIfCancellationRequested(); + return Convert(data, rootTemplate, templateProvider, traceInfo); + } + + public abstract string Convert(string data, string rootTemplate, ITemplateProvider templateProvider, TraceInfo traceInfo = null); + + protected virtual Context CreateContext(ITemplateProvider templateProvider, object data) + { + // Load data and templates + var timeout = _settings?.TimeOut ?? 0; + var dataDictionary = data is IDictionary dictionary + ? dictionary + : new Dictionary() { { "hl7v2Data", data } }; + var context = new Context( + environments: new List() { Hash.FromDictionary(dataDictionary) }, + outerScope: new Hash(), + registers: Hash.FromDictionary(new Dictionary() { { "file_system", templateProvider.GetTemplateFileSystem() } }), + errorsOutputMode: ErrorsOutputMode.Rethrow, + maxIterations: 0, + timeout: timeout, + formatProvider: CultureInfo.InvariantCulture); + + // Load filters + context.AddFilters(typeof(Filters)); + + return context; + } + + protected string RenderTemplates(Template template, Context context) + { + try + { + template.MakeThreadSafe(); + return template.Render(RenderParameters.FromContext(context, CultureInfo.InvariantCulture)); + } + catch (TimeoutException ex) + { + throw new RenderException(FhirConverterErrorCode.TimeoutError, Resources.TimeoutError, ex); + } + catch (RenderException) + { + throw; + } + catch (Exception ex) + { + throw new RenderException(FhirConverterErrorCode.TemplateRenderingError, string.Format(Resources.TemplateRenderingError, ex.Message), ex); + } + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs new file mode 100644 index 000000000..f1d84f8d7 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs @@ -0,0 +1,120 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using System.Xml.Linq; +using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; +using Microsoft.Health.Fhir.Liquid.Converter.Models; +using Newtonsoft.Json; + +namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +{ + public class CdaDataParser + { + public IDictionary Parse(string document) + { + try + { + if (string.IsNullOrEmpty(document)) + { + throw new DataParseException(FhirConverterErrorCode.NullOrEmptyInput, Resources.NullOrEmptyInput); + } + + var xDocument = XDocument.Parse(document); + + // Remove redundant namespaces to avoid appending namespace prefix before elements + var defaultNamespace = xDocument.Root?.GetDefaultNamespace().NamespaceName; + xDocument.Root?.Attributes() + .Where(attribute => IsRedundantNamespaceAttribute(attribute, defaultNamespace)) + .Remove(); + + // Normalize non-default namespace prefix in elements + var namespaces = xDocument.Root?.Attributes() + .Where(x => x.IsNamespaceDeclaration && x.Value != defaultNamespace); + NormalizeNamespacePrefix(xDocument?.Root, namespaces); + + // Change XText to XElement with name "_" to avoid serializing depth difference, e.g., given="foo" and given.#text="foo" + ReplaceTextWithElement(xDocument?.Root); + + // Convert to json dictionary + var jsonString = JsonConvert.SerializeXNode(xDocument); + var dataDictionary = JsonConvert.DeserializeObject>(jsonString, new DictionaryJsonConverter()) ?? + new Dictionary(); + + // Remove line breaks in original data + dataDictionary["_originalData"] = Regex.Replace(document, @"\r\n?|\n", string.Empty); + + return new Dictionary() + { + { "msg", dataDictionary }, + }; + } + catch (Exception ex) + { + throw new DataParseException(FhirConverterErrorCode.InputParsingError, string.Format(Resources.InputParsingError, ex.Message), ex); + } + } + + private static bool IsRedundantNamespaceAttribute(XAttribute attribute, string defaultNamespace) + { + return attribute != null && + attribute.IsNamespaceDeclaration && + !string.Equals(attribute.Name.LocalName, "xmlns", StringComparison.InvariantCultureIgnoreCase) && + string.Equals(attribute.Value, defaultNamespace, StringComparison.InvariantCultureIgnoreCase); + } + + /// + /// Replace "namespace:attribute" to "namespace_attribute" to be compatible with DotLiquids, e.g., from sdtc:raceCode to sdtc_raceCode + /// + private static void NormalizeNamespacePrefix(XElement element, IEnumerable namespaces) + { + if (element == null || namespaces == null) + { + return; + } + + foreach (var ns in namespaces) + { + if (string.Equals(ns.Value, element.Name.NamespaceName, StringComparison.InvariantCultureIgnoreCase)) + { + element.Name = $"{ns.Name.LocalName}_{element.Name.LocalName}"; + break; + } + } + + foreach (var childElement in element.Elements()) + { + NormalizeNamespacePrefix(childElement, namespaces); + } + } + + private static void ReplaceTextWithElement(XElement element) + { + if (element == null) + { + return; + } + + // Iterate reversely as the list itself is updating + var nodes = element.Nodes().ToList(); + for (var i = nodes.Count - 1; i >= 0; --i) + { + switch (nodes[i]) + { + case XText textNode: + element.Add(new XElement("_", textNode.Value)); + textNode.Remove(); + break; + case XElement elementNode: + ReplaceTextWithElement(elementNode); + break; + } + } + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs new file mode 100644 index 000000000..961aebf3f --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs @@ -0,0 +1,63 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Linq; +using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; +using Microsoft.Health.Fhir.Liquid.Converter.Models; +using Microsoft.Health.Fhir.Liquid.Converter.OutputProcessor; +using Newtonsoft.Json; + +namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +{ + public class CdaProcessor : BaseProcessor + { + private readonly CdaDataParser _dataParser = new CdaDataParser(); + + public CdaProcessor(ProcessorSettings processorSettings = null) + : base(processorSettings) + { + } + + public override string Convert(string data, string rootTemplate, ITemplateProvider templateProvider, TraceInfo traceInfo = null) + { + if (string.IsNullOrEmpty(rootTemplate)) + { + throw new RenderException(FhirConverterErrorCode.NullOrEmptyRootTemplate, Resources.NullOrEmptyRootTemplate); + } + + if (templateProvider == null) + { + throw new RenderException(FhirConverterErrorCode.NullTemplateProvider, Resources.NullTemplateProvider); + } + + var template = templateProvider.GetTemplate(rootTemplate); + if (template == null) + { + throw new RenderException(FhirConverterErrorCode.TemplateNotFound, string.Format(Resources.TemplateNotFound, rootTemplate)); + } + + var cdaData = _dataParser.Parse(data); + var context = CreateContext(templateProvider, cdaData); + var rawResult = RenderTemplates(template, context); + var result = PostProcessor.Process(rawResult); + + return result.ToString(Formatting.Indented); + } + + protected override Context CreateContext(ITemplateProvider templateProvider, object cdaData) + { + // Load value set mapping + var context = base.CreateContext(templateProvider, cdaData); + var codeSystemMapping = templateProvider.GetTemplate("ValueSet/ValueSet"); + if (codeSystemMapping?.Root?.NodeList?.First() != null) + { + context["CodeSystemMapping"] = codeSystemMapping.Root.NodeList.First(); + } + + return context; + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs new file mode 100644 index 000000000..c5dc39fd1 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs @@ -0,0 +1,38 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using DotLiquid; +using DotLiquid.FileSystems; +using Microsoft.Health.Fhir.Liquid.Converter.DotLiquids; +using Microsoft.Health.Fhir.Liquid.Converter.Models; + +namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +{ + public class CdaTemplateProvider : ITemplateProvider + { + private readonly IFhirConverterTemplateFileSystem _fileSystem; + + public CdaTemplateProvider(string templateDirectory) + { + _fileSystem = new TemplateLocalFileSystem(templateDirectory, DataType.Cda); + } + + public CdaTemplateProvider(List> templateCollection) + { + _fileSystem = new MemoryFileSystem(templateCollection); + } + + public Template GetTemplate(string templateName) + { + return _fileSystem.GetTemplate(templateName); + } + + public ITemplateFileSystem GetTemplateFileSystem() + { + return _fileSystem; + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs new file mode 100644 index 000000000..76a23a47b --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs @@ -0,0 +1,122 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Text.RegularExpressions; +using Newtonsoft.Json; + +namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +{ + /// + /// One-way JsonConverter to deserialize JSON string to IDictionary + /// + public class DictionaryJsonConverter : JsonConverter + { + public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) + { + throw new NotImplementedException(); + } + + public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) + { + return ReadValue(reader); + } + + private object ReadValue(JsonReader reader) + { + while (reader.TokenType == JsonToken.Comment) + { + if (!reader.Read()) + { + throw new JsonSerializationException(Resources.UnexpectedJsonConvertToken); + } + } + + switch (reader.TokenType) + { + case JsonToken.StartObject: + return ReadObject(reader); + case JsonToken.StartArray: + return ReadArray(reader); + case JsonToken.String: + // Remove line breaks to avoid invalid line breaks in json value + return Regex.Replace(reader.Value.ToString(), @"\r\n?|\n", string.Empty); + case JsonToken.Integer: + case JsonToken.Float: + case JsonToken.Boolean: + case JsonToken.Undefined: + case JsonToken.Null: + case JsonToken.Date: + case JsonToken.Bytes: + return reader.Value; + default: + throw new JsonSerializationException(Resources.UnexpectedJsonConvertToken); + } + } + + private object ReadArray(JsonReader reader) + { + IList list = new List(); + + while (reader.Read()) + { + switch (reader.TokenType) + { + case JsonToken.Comment: + break; + case JsonToken.EndArray: + return list; + default: + var v = ReadValue(reader); + list.Add(v); + break; + } + } + + throw new JsonSerializationException(Resources.UnexpectedJsonConvertEnd); + } + + private object ReadObject(JsonReader reader) + { + var obj = new Dictionary(); + + while (reader.Read()) + { + switch (reader.TokenType) + { + case JsonToken.PropertyName: + var propertyName = reader.Value.ToString(); + + if (!reader.Read()) + { + throw new JsonSerializationException(Resources.UnexpectedJsonConvertEnd); + } + + // Remove "@" if it is attribute + if (propertyName.StartsWith("@")) + { + propertyName = propertyName[1..]; + } + + var v = ReadValue(reader); + obj[propertyName] = v; + break; + case JsonToken.Comment: + break; + case JsonToken.EndObject: + return obj; + } + } + + throw new JsonSerializationException(Resources.UnexpectedJsonConvertEnd); + } + + public override bool CanConvert(Type objectType) + { + return typeof(IDictionary).IsAssignableFrom(objectType); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs index b0aa6e9a3..496c11db0 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs @@ -6,6 +6,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using DotLiquid; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Models; @@ -29,10 +30,7 @@ public TemplateLocalFileSystem(string templateDirectory, DataType dataType) _templateDirectory = templateDirectory; _templateCache = new Dictionary(); - if (dataType == DataType.Hl7v2) - { - LoadCodeSystemMappingTemplate(); - } + LoadMappingTemplate(dataType); } public string ReadTemplateFile(Context context, string templateName) @@ -77,14 +75,15 @@ public Template GetTemplate(string templateName) return null; } - private void LoadCodeSystemMappingTemplate() + private void LoadMappingTemplate(DataType dataType) { - var codeSystemMappingPath = Path.Join(_templateDirectory, "CodeSystem", "CodeSystem.json"); + var mappingFileType = dataType == DataType.Hl7v2 ? "CodeSystem" : "ValueSet"; + var codeSystemMappingPath = Path.Join(_templateDirectory, mappingFileType, $"{mappingFileType}.json"); if (File.Exists(codeSystemMappingPath)) { var content = LoadTemplate(codeSystemMappingPath); var template = TemplateUtility.ParseCodeSystemMapping(content); - _templateCache["CodeSystem/CodeSystem"] = template; + _templateCache[$"{mappingFileType}/{mappingFileType}"] = template; } } @@ -113,12 +112,8 @@ private string GetAbsoluteTemplatePath(string templateName) // Snippets pathSegments[^1] = $"_{pathSegments[^1]}.liquid"; - foreach (var pathSegment in pathSegments) - { - result = Path.Join(result, pathSegment); - } - return result; + return pathSegments.Aggregate(result, Path.Join); } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/CollectionFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/CollectionFilters.cs new file mode 100644 index 000000000..900c4720f --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/CollectionFilters.cs @@ -0,0 +1,48 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using DotLiquid; + +namespace Microsoft.Health.Fhir.Liquid.Converter +{ + /// + /// Filters for conversion + /// + public partial class Filters + { + public static List ToArray(object input) + { + return input switch + { + null => new List(), + IEnumerable enumerableObject => enumerableObject.ToList(), + _ => new List { input } + }; + } + + public static List Concat(List l1, List l2) + { + return new List().Concat(l1 ?? new List()).Concat(l2 ?? new List()).ToList(); + } + + public static string BatchRender(Context context, List collection, string templateName, string variableName) + { + var sb = new StringBuilder(); + var templateFileSystem = context.Registers["file_system"] as IFhirConverterTemplateFileSystem; + var template = templateFileSystem?.GetTemplate(templateName); + collection?.ForEach(entry => + { + context[variableName] = entry; + sb.Append(template?.Render(RenderParameters.FromContext(context, CultureInfo.InvariantCulture))); + }); + + return sb.ToString(); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/DateFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/DateFilters.cs index 48f2c86f2..b08c4f621 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/DateFilters.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/DateFilters.cs @@ -72,6 +72,11 @@ public static string FormatAsDateTime(string input) } } + public static string Now(string input, string format = "yyyy-MM-ddTHH:mm:ss.FFFZ") + { + return DateTime.UtcNow.ToString(format); + } + private static string ConvertDate(string input, GroupCollection groups) { var year = groups["year"].Success ? int.Parse(groups["year"].Value) : 1; diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs index 566894437..f44bf17d4 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs @@ -20,7 +20,7 @@ namespace Microsoft.Health.Fhir.Liquid.Converter /// public partial class Filters { - public static string GetProperty(Context context, string originalCode, string mapping, string property) + public static string GetProperty(Context context, string originalCode, string mapping, string property = "code") { if (string.IsNullOrEmpty(originalCode) || string.IsNullOrEmpty(mapping) || string.IsNullOrEmpty(property)) { diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs new file mode 100644 index 000000000..4e3b1eca0 --- /dev/null +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs @@ -0,0 +1,121 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text.RegularExpressions; +using DotLiquid; + +namespace Microsoft.Health.Fhir.Liquid.Converter +{ + /// + /// Filters for conversion + /// + public partial class Filters + { + private static readonly Regex NormalizeSectionNameRegex = new Regex("[^A-Za-z0-9]"); + + public static IDictionary GetFirstCdaSections(Hash data, string sectionNameContent) + { + var sectionLists = Filters.GetCdaSectionLists(data, sectionNameContent); + var result = new Dictionary(); + foreach (var (key, value) in sectionLists) + { + result[key] = (value as List)?.First(); + } + + return result; + } + + public static IDictionary GetCdaSectionLists(Hash data, string sectionNameContent) + { + var result = new Dictionary(); + var sectionNames = sectionNameContent.Split("|", StringSplitOptions.RemoveEmptyEntries); + var components = GetComponents(data); + + if (components == null) + { + return result; + } + + foreach (var sectionName in sectionNames) + { + foreach (var component in components) + { + if (component is Dictionary componentDict && + componentDict.GetValueOrDefault("section") is Dictionary sectionDict && + sectionDict.GetValueOrDefault("title") is Dictionary titleDict && + titleDict.GetValueOrDefault("_") is string titleString && + titleString.Contains(sectionName, StringComparison.InvariantCultureIgnoreCase)) + { + var normalizedSectionName = NormalizeSectionName(sectionName); + if (result.GetValueOrDefault(normalizedSectionName) is List list) + { + list.Add(sectionDict); + } + else + { + result[NormalizeSectionName(sectionName)] = new List { sectionDict }; + } + } + } + } + + return result; + } + + public static IDictionary GetFirstCdaSectionsByTemplateId(Hash data, string templateIdContent) + { + var result = new Dictionary(); + var templateIds = templateIdContent.Split("|", StringSplitOptions.RemoveEmptyEntries); + var components = GetComponents(data); + + if (components == null) + { + return result; + } + + foreach (var templateId in templateIds) + { + foreach (var component in components) + { + if (component is Dictionary componentDict && + componentDict.GetValueOrDefault("section") is Dictionary sectionDict && + sectionDict.GetValueOrDefault("templateId") != null && + ToJsonString(sectionDict["templateId"]).Contains(templateId, StringComparison.InvariantCultureIgnoreCase)) + { + result[NormalizeSectionName(templateId)] = sectionDict; + break; + } + } + } + + return result; + } + + private static List GetComponents(Hash data) + { + var dataComponents = (((data["ClinicalDocument"] as Hash)? + ["component"] as Hash)? + ["structuredBody"] as Hash)? + ["component"]; + + if (dataComponents == null) + { + return null; + } + + return dataComponents is List listComponents + ? listComponents + : new List { dataComponents }; + } + + private static string NormalizeSectionName(string input) + { + return NormalizeSectionNameRegex.Replace(input, "_"); + } + } +} diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/StringFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/StringFilters.cs index 6f11c653c..b9b3122a2 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/StringFilters.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/StringFilters.cs @@ -3,7 +3,16 @@ // Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. // ------------------------------------------------------------------------------------------------- +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Compression; +using System.Linq; +using System.Security.Cryptography; +using System.Text; +using System.Text.RegularExpressions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.InputProcessor; +using Newtonsoft.Json; namespace Microsoft.Health.Fhir.Liquid.Converter { @@ -12,39 +21,82 @@ namespace Microsoft.Health.Fhir.Liquid.Converter /// public partial class Filters { - public static char CharAt(string dataString, int index) + public static char CharAt(string data, int index) { - return dataString[index]; + return data[index]; } public static bool Contains(string parentString, string childString) { - if (parentString == null) + return parentString != null && parentString.Contains(childString); + } + + public static string EscapeSpecialChars(string data) + { + return string.IsNullOrEmpty(data) ? data : SpecialCharProcessor.Escape(data); + } + + public static string UnescapeSpecialChars(string data) + { + return string.IsNullOrEmpty(data) ? data : SpecialCharProcessor.Unescape(data); + } + + public static List Match(string data, string regexString) + { + if (string.IsNullOrEmpty(data)) { - return false; + return new List(); } - return parentString.Contains(childString); + var regex = new Regex(regexString); + return regex.Match(data).Captures.Select(capture => capture.Value).ToList(); } - public static string EscapeSpecialChars(string data) + public static string ToJsonString(object data) { - if (string.IsNullOrEmpty(data)) + return data == null ? null : JsonConvert.SerializeObject(data, Formatting.None); + } + + public static string Gzip(string data) + { + using var inputStream = new MemoryStream(Encoding.UTF8.GetBytes(data)); + using var outputStream = new MemoryStream(); + using (var gzipStream = new GZipStream(outputStream, CompressionMode.Compress)) { - return data; + inputStream.CopyTo(gzipStream); } - return SpecialCharProcessor.Escape(data); + return Convert.ToBase64String(outputStream.ToArray()); } - public static string UnescapeSpecialChars(string data) + public static string GunzipBase64String(string data) { - if (string.IsNullOrEmpty(data)) + using var inputStream = new MemoryStream(Convert.FromBase64String(data)); + using var outputStream = new MemoryStream(); + using (var gzipStream = new GZipStream(inputStream, CompressionMode.Decompress)) { - return data; + gzipStream.CopyTo(outputStream); } - return SpecialCharProcessor.Unescape(data); + return Encoding.UTF8.GetString(outputStream.ToArray()); + } + + public static string Sha1Hash(string data) + { + using var sha1 = new SHA1Managed(); + var hash = sha1.ComputeHash(Encoding.UTF8.GetBytes(data)); + return string.Concat(hash.Select(b => b.ToString("x2"))); + } + + public static string Base64Encode(string data) + { + return Convert.ToBase64String(Encoding.UTF8.GetBytes(data)); + } + + public static string Base64Decode(string data) + { + var bytes = Convert.FromBase64String(data); + return Encoding.UTF8.GetString(bytes); } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs index cada0c209..72f2f383e 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs @@ -3,11 +3,7 @@ // Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. // ------------------------------------------------------------------------------------------------- -using System; -using System.Collections.Generic; -using System.Globalization; using System.Linq; -using System.Threading; using DotLiquid; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; @@ -17,17 +13,16 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.Hl7v2 { - public class Hl7v2Processor : IFhirConverter + public class Hl7v2Processor : BaseProcessor { private readonly Hl7v2DataParser _dataParser = new Hl7v2DataParser(); - private readonly ProcessorSettings _settings; public Hl7v2Processor(ProcessorSettings processorSettings = null) + : base(processorSettings) { - _settings = processorSettings; } - public string Convert(string data, string rootTemplate, ITemplateProvider templateProvider, TraceInfo traceInfo = null) + public override string Convert(string data, string rootTemplate, ITemplateProvider templateProvider, TraceInfo traceInfo = null) { if (string.IsNullOrEmpty(rootTemplate)) { @@ -57,57 +52,17 @@ public string Convert(string data, string rootTemplate, ITemplateProvider templa return result.ToString(Formatting.Indented); } - public string Convert(string data, string rootTemplate, ITemplateProvider templateProvider, CancellationToken cancellationToken, TraceInfo traceInfo = null) + protected override Context CreateContext(ITemplateProvider templateProvider, object hl7v2Data) { - cancellationToken.ThrowIfCancellationRequested(); - return Convert(data, rootTemplate, templateProvider, traceInfo); - } - - private Context CreateContext(ITemplateProvider templateProvider, Hl7v2Data hl7v2Data) - { - // Load data and templates - var timeout = _settings?.TimeOut ?? 0; - var context = new Context( - environments: new List() { Hash.FromDictionary(new Dictionary() { { "hl7v2Data", hl7v2Data } }) }, - outerScope: new Hash(), - registers: Hash.FromDictionary(new Dictionary() { { "file_system", templateProvider.GetTemplateFileSystem() } }), - errorsOutputMode: ErrorsOutputMode.Rethrow, - maxIterations: 0, - timeout: timeout, - formatProvider: CultureInfo.InvariantCulture); - // Load code system mapping + var context = base.CreateContext(templateProvider, hl7v2Data); var codeSystemMapping = templateProvider.GetTemplate("CodeSystem/CodeSystem"); if (codeSystemMapping?.Root?.NodeList?.First() != null) { context["CodeSystemMapping"] = codeSystemMapping.Root.NodeList.First(); } - // Load filters - context.AddFilters(typeof(Filters)); - return context; } - - private string RenderTemplates(Template template, Context context) - { - try - { - template.MakeThreadSafe(); - return template.Render(RenderParameters.FromContext(context, CultureInfo.InvariantCulture)); - } - catch (TimeoutException ex) - { - throw new RenderException(FhirConverterErrorCode.TimeoutError, Resources.TimeoutError, ex); - } - catch (RenderException) - { - throw; - } - catch (Exception ex) - { - throw new RenderException(FhirConverterErrorCode.TemplateRenderingError, string.Format(Resources.TemplateRenderingError, ex.Message), ex); - } - } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs index 44d5c3b03..e7676c378 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs @@ -8,5 +8,6 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.Models public enum DataType { Hl7v2, + Cda, } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs index 662968d9e..b3b095e4d 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs @@ -275,5 +275,23 @@ internal static string TraceInfoError { return ResourceManager.GetString("TraceInfoError", resourceCulture); } } + + /// + /// Looks up a localized string similar to Unexpected end when reading IDictionary<string, object>.. + /// + internal static string UnexpectedJsonConvertEnd { + get { + return ResourceManager.GetString("UnexpectedJsonConvertEnd", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Unexpected token when converting IDictionary<string, object>.. + /// + internal static string UnexpectedJsonConvertToken { + get { + return ResourceManager.GetString("UnexpectedJsonConvertToken", resourceCulture); + } + } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx index 6b5e8e3b4..5280321e2 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx @@ -189,4 +189,10 @@ Error happened when processing TraceInfo: {0} + + Unexpected end when reading IDictionary<string, object>. + + + Unexpected token when converting IDictionary<string, object>. + \ No newline at end of file From 4bcbe01de7bf0324a7be851d336ecc90de85db28 Mon Sep 17 00:00:00 2001 From: hongyh13 Date: Wed, 17 Mar 2021 16:21:19 +0800 Subject: [PATCH 2/4] support cda default templates (#215) * [Templates] Initial version of cda support (#196) * Add cda sample data and templates * Fix case typo * [Engine] Initial version of cda support (#195) * Add cda initial commit * Add resource templates and filters * Add section and string unit tests * Add and fix templates * Add result template and references * Add medication templates * Remove redundant namespaces and normalize namespace prefix in attributes * Add condition template * Refine parser and add templates * Move some DictionaryJsonConverter logic to CdaDataParser * Fix CdaDataParser and add unit tests * Add Condition template and remove ResourceTypeFromSection template * Add functional tests and refine unit tests * Refine processors and add references in Header template * Fix document id and add xml extension in handler * Fix spaces in templates * Add ValueSet.json and update templates * Refine TemplateLocalFileSystem and DictionaryJsonConverter * Update default value for ValueSet templates * Support single component in section filters * Refine parser and dictionary converter * Remove unused variables * Add batch render * Set template encoding to utf8 * Refine templates * Remove debug info * Remove cda sample data and templates * Refine codes according to comments * Refine parser and tests * Refine codes and tests * Remove redundant codes * Add more tests for Filters.Now * Refine codes and add more tests * Refine linq in CdaDataParser * Make BaseProcessor abstract * init version to support both hl7v2 and ccda default templates * fix bug * modify template location * fix bug * init version to support both hl7v2 and ccda default templates * fix bug * modify template location * fix bug * tmp save * rebase cda * support acr * add unit test * add more unit test * code style * resolve code review comments * resolve code review comments * Update src/Microsoft.Health.Fhir.TemplateManagement/Constants.cs Co-authored-by: Gerry Hernandez * typo * resolve code review * typo * case insensitive for default templates and use image reference as defaul template key * resolve build warnings * extract MemoryCacheEntryOptions out Co-authored-by: Boya Wu <38548227+BoyaWu10@users.noreply.github.com> Co-authored-by: Gerry Hernandez --- .../FunctionalTests.cs | 1 - .../RuleBasedTests.cs | 2 +- .../Filters/GeneralFiltersTests.cs | 8 +- .../Utilities/TemplateUtilityTests.cs | 75 ++++++-- .../Cda/CdaProcessor.cs | 6 +- .../DotLiquids/TemplateLocalFileSystem.cs | 8 +- .../Filters/GeneralFilters.cs | 3 +- .../Hl7v2/Hl7v2Processor.cs | 6 +- .../CodeMapping.cs} | 6 +- .../CodeMappingDocument.cs} | 6 +- .../Models/FhirConverterErrorCode.cs | 2 +- .../Resources.Designer.cs | 6 +- .../Resources.resx | 4 +- .../Utilities/TemplateUtility.cs | 24 ++- .../TemplateCollectionFunctionalTests.cs | 67 ++++++- .../ImageInfoTest.cs | 103 ---------- .../Models/DefaultTemplateInfoTest.cs | 92 +++++++++ .../Models/ImageInfoTest.cs | 181 ++++++++++++++++++ .../TemplateCollectionProviderTests.cs | 31 ++- .../TemplateCollectionProviderFactoryTests.cs | 59 ++++-- .../TemplateLayerParserTests.cs | 1 - .../TemplateCollectionProvider.cs | 3 +- .../Constants.cs | 4 +- .../TemplateCollectionProviderFactory.cs | 38 ++-- ...rosoft.Health.Fhir.Liquid.Converter.nuspec | 4 - ...soft.Health.Fhir.TemplateManagement.csproj | 8 +- .../Models/DefaultTemplateInfo.cs | 37 ++++ .../Models/ImageInfo.cs | 81 ++++---- .../Models/TemplateLayer.cs | 5 +- .../TemplateLayerParser.cs | 2 +- 30 files changed, 607 insertions(+), 266 deletions(-) rename src/Microsoft.Health.Fhir.Liquid.Converter/{Hl7v2/Models/CodeSystemMapping.cs => Models/CodeMapping.cs} (73%) rename src/Microsoft.Health.Fhir.Liquid.Converter/{Hl7v2/Models/CodeSystemMappingDocument.cs => Models/CodeMappingDocument.cs} (73%) delete mode 100644 src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/ImageInfoTest.cs create mode 100644 src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs create mode 100644 src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/ImageInfoTest.cs create mode 100644 src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs index caf49cec4..52882db95 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs @@ -7,7 +7,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Text.RegularExpressions; using DotLiquid; using Microsoft.Health.Fhir.Liquid.Converter.Cda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs index 1cb9d7f6b..cad9d0eb3 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs @@ -281,4 +281,4 @@ internal static class ResourceFilter }; } } -} +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/GeneralFiltersTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/GeneralFiltersTests.cs index 2eaf917dd..1bbdcf15e 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/GeneralFiltersTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/GeneralFiltersTests.cs @@ -30,13 +30,13 @@ public void GetPropertyTest() var context = new Context(CultureInfo.InvariantCulture); Assert.Null(Filters.GetProperty(context, null, null, null)); - // context with null CodeSystemMapping + // context with null CodeMapping context = new Context(new List(), new Hash(), new Hash(), ErrorsOutputMode.Rethrow, 0, 0, CultureInfo.InvariantCulture); - context["CodeSystemMapping"] = null; + context["CodeMapping"] = null; Assert.Equal("M", Filters.GetProperty(context, "M", "Gender", "code")); - // context with valid CodeSystemMapping - context["CodeSystemMapping"] = new CodeSystemMapping(new Dictionary>> + // context with valid CodeMapping + context["CodeMapping"] = new CodeMapping(new Dictionary>> { { "CodeSystem/Gender", new Dictionary> diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs index 6cf046575..2bcf7d27b 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs @@ -7,7 +7,6 @@ using System.Linq; using DotLiquid.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; -using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; using Microsoft.Health.Fhir.Liquid.Converter.Models; using Microsoft.Health.Fhir.Liquid.Converter.Utilities; using Newtonsoft.Json; @@ -27,45 +26,97 @@ public void GivenValidHl7v2TemplateContents_WhenParseTemplates_CorrectResultShou { @"Resource\_Encounter.liquid", "c" }, { "CodeSystem/CodeSystem.json", @"{""mapping"": {""a"": {""b"": {""c"": ""d""}}}}" }, }; - var parsedTemplates = TemplateUtility.ParseHl7v2Templates(templates); + var parsedTemplates = TemplateUtility.ParseTemplates(templates); Assert.Equal("a", parsedTemplates["ADT_A01"].Render()); Assert.Equal("b", parsedTemplates["Resource/Patient"].Render()); Assert.Equal("c", parsedTemplates["Resource/Encounter"].Render()); - var codeSystemMapping = (CodeSystemMapping)parsedTemplates["CodeSystem/CodeSystem"].Root.NodeList.First(); - Assert.Equal("d", codeSystemMapping.Mapping["a"]["b"]["c"]); + var codeMapping = (CodeMapping)parsedTemplates["CodeSystem/CodeSystem"].Root.NodeList.First(); + Assert.Equal("d", codeMapping.Mapping["a"]["b"]["c"]); templates["Resource/_Patient.liquid"] = null; templates["CodeSystem/CodeSystem.json"] = null; - parsedTemplates = TemplateUtility.ParseHl7v2Templates(templates); + parsedTemplates = TemplateUtility.ParseTemplates(templates); Assert.Null(parsedTemplates["Resource/Patient"]); Assert.Null(parsedTemplates["CodeSystem/CodeSystem"]); } + [Fact] + public void GivenValidCdaTemplateContents_WhenParseTemplates_CorrectResultShouldBeReturned() + { + var templates = new Dictionary + { + { "CCD.liquid", "a" }, + { "Resource/_Patient.liquid", "b" }, + { @"Resource\_Encounter.liquid", "c" }, + { "ValueSet/ValueSet.json", @"{""mapping"": {""a"": {""b"": {""c"": ""d""}}}}" }, + }; + var parsedTemplates = TemplateUtility.ParseTemplates(templates); + + Assert.Equal("a", parsedTemplates["CCD"].Render()); + Assert.Equal("b", parsedTemplates["Resource/Patient"].Render()); + Assert.Equal("c", parsedTemplates["Resource/Encounter"].Render()); + + var codeMapping = (CodeMapping)parsedTemplates["ValueSet/ValueSet"].Root.NodeList.First(); + Assert.Equal("d", codeMapping.Mapping["a"]["b"]["c"]); + + templates["Resource/_Patient.liquid"] = null; + templates["ValueSet/ValueSet.json"] = null; + parsedTemplates = TemplateUtility.ParseTemplates(templates); + Assert.Null(parsedTemplates["Resource/Patient"]); + Assert.Null(parsedTemplates["ValueSet/ValueSet"]); + } + [Fact] public void GivenInvalidHl7v2TemplateContents_WhenParseTemplates_ExceptionsShouldBeThrown() { // Invalid DotLiquid template var templates = new Dictionary { { "ADT_A01.liquid", "{{" } }; - var exception = Assert.Throws(() => TemplateUtility.ParseHl7v2Templates(templates)); + var exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); Assert.Equal(FhirConverterErrorCode.TemplateSyntaxError, exception.FhirConverterErrorCode); Assert.True(exception.InnerException is SyntaxException); // Invalid JSON templates = new Dictionary { { "CodeSystem/CodeSystem.json", @"{""a""" } }; - exception = Assert.Throws(() => TemplateUtility.ParseHl7v2Templates(templates)); - Assert.Equal(FhirConverterErrorCode.InvalidCodeSystemMapping, exception.FhirConverterErrorCode); + exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.InvalidCodeMapping, exception.FhirConverterErrorCode); Assert.True(exception.InnerException is JsonException); // Null CodeSystemMapping templates = new Dictionary { { "CodeSystem/CodeSystem.json", string.Empty } }; - exception = Assert.Throws(() => TemplateUtility.ParseHl7v2Templates(templates)); - Assert.Equal(FhirConverterErrorCode.InvalidCodeSystemMapping, exception.FhirConverterErrorCode); + exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.InvalidCodeMapping, exception.FhirConverterErrorCode); // Null CodeSystemMapping.Mapping templates = new Dictionary { { "CodeSystem/CodeSystem.json", @"{""a"": ""b""}" } }; - exception = Assert.Throws(() => TemplateUtility.ParseHl7v2Templates(templates)); - Assert.Equal(FhirConverterErrorCode.InvalidCodeSystemMapping, exception.FhirConverterErrorCode); + exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.InvalidCodeMapping, exception.FhirConverterErrorCode); + } + + [Fact] + public void GivenInvalidCdaTemplateContents_WhenParseTemplates_ExceptionsShouldBeThrown() + { + // Invalid DotLiquid template + var templates = new Dictionary { { "CCD.liquid", "{{" } }; + var exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.TemplateSyntaxError, exception.FhirConverterErrorCode); + Assert.True(exception.InnerException is SyntaxException); + + // Invalid JSON + templates = new Dictionary { { "ValueSet/ValueSet.json", @"{""a""" } }; + exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.InvalidCodeMapping, exception.FhirConverterErrorCode); + Assert.True(exception.InnerException is JsonException); + + // Null ValueSetMapping + templates = new Dictionary { { "ValueSet/ValueSet.json", string.Empty } }; + exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.InvalidCodeMapping, exception.FhirConverterErrorCode); + + // Null ValueSetMapping.Mapping + templates = new Dictionary { { "ValueSet/ValueSet.json", @"{""a"": ""b""}" } }; + exception = Assert.Throws(() => TemplateUtility.ParseTemplates(templates)); + Assert.Equal(FhirConverterErrorCode.InvalidCodeMapping, exception.FhirConverterErrorCode); } } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs index 961aebf3f..055494f08 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs @@ -51,10 +51,10 @@ protected override Context CreateContext(ITemplateProvider templateProvider, obj { // Load value set mapping var context = base.CreateContext(templateProvider, cdaData); - var codeSystemMapping = templateProvider.GetTemplate("ValueSet/ValueSet"); - if (codeSystemMapping?.Root?.NodeList?.First() != null) + var codeMapping = templateProvider.GetTemplate("ValueSet/ValueSet"); + if (codeMapping?.Root?.NodeList?.First() != null) { - context["CodeSystemMapping"] = codeSystemMapping.Root.NodeList.First(); + context["CodeMapping"] = codeMapping.Root.NodeList.First(); } return context; diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs index 496c11db0..7bd926116 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/DotLiquids/TemplateLocalFileSystem.cs @@ -78,11 +78,11 @@ public Template GetTemplate(string templateName) private void LoadMappingTemplate(DataType dataType) { var mappingFileType = dataType == DataType.Hl7v2 ? "CodeSystem" : "ValueSet"; - var codeSystemMappingPath = Path.Join(_templateDirectory, mappingFileType, $"{mappingFileType}.json"); - if (File.Exists(codeSystemMappingPath)) + var codeMappingPath = Path.Join(_templateDirectory, mappingFileType, $"{mappingFileType}.json"); + if (File.Exists(codeMappingPath)) { - var content = LoadTemplate(codeSystemMappingPath); - var template = TemplateUtility.ParseCodeSystemMapping(content); + var content = LoadTemplate(codeMappingPath); + var template = TemplateUtility.ParseCodeMapping(content); _templateCache[$"{mappingFileType}/{mappingFileType}"] = template; } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs index f44bf17d4..53b6ea2a8 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/GeneralFilters.cs @@ -9,7 +9,6 @@ using System.Text; using DotLiquid; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; -using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; using Microsoft.Health.Fhir.Liquid.Converter.Models; using Newtonsoft.Json.Linq; @@ -27,7 +26,7 @@ public static string GetProperty(Context context, string originalCode, string ma return null; } - var map = (context["CodeSystemMapping"] as CodeSystemMapping)?.Mapping?.GetValueOrDefault(mapping, null); + var map = (context["CodeMapping"] as CodeMapping)?.Mapping?.GetValueOrDefault(mapping, null); var codeMapping = map?.GetValueOrDefault(originalCode, null) ?? map?.GetValueOrDefault("__default__", null); return codeMapping?.GetValueOrDefault(property, null) ?? ((property.Equals("code") || property.Equals("display")) ? originalCode : null); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs index 72f2f383e..b80a7b844 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Hl7v2Processor.cs @@ -56,10 +56,10 @@ protected override Context CreateContext(ITemplateProvider templateProvider, obj { // Load code system mapping var context = base.CreateContext(templateProvider, hl7v2Data); - var codeSystemMapping = templateProvider.GetTemplate("CodeSystem/CodeSystem"); - if (codeSystemMapping?.Root?.NodeList?.First() != null) + var codeMapping = templateProvider.GetTemplate("CodeSystem/CodeSystem"); + if (codeMapping?.Root?.NodeList?.First() != null) { - context["CodeSystemMapping"] = codeSystemMapping.Root.NodeList.First(); + context["CodeMapping"] = codeMapping.Root.NodeList.First(); } return context; diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Models/CodeSystemMapping.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/CodeMapping.cs similarity index 73% rename from src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Models/CodeSystemMapping.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter/Models/CodeMapping.cs index 5b867c29e..6b6a11147 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Models/CodeSystemMapping.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/CodeMapping.cs @@ -6,11 +6,11 @@ using System.Collections.Generic; using DotLiquid; -namespace Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models +namespace Microsoft.Health.Fhir.Liquid.Converter.Models { - public class CodeSystemMapping : Drop + public class CodeMapping : Drop { - public CodeSystemMapping(Dictionary>> mapping) + public CodeMapping(Dictionary>> mapping) { Mapping = mapping; } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Models/CodeSystemMappingDocument.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/CodeMappingDocument.cs similarity index 73% rename from src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Models/CodeSystemMappingDocument.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter/Models/CodeMappingDocument.cs index 9b53462ff..77a89e2c1 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Hl7v2/Models/CodeSystemMappingDocument.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/CodeMappingDocument.cs @@ -7,11 +7,11 @@ using System.Linq; using DotLiquid; -namespace Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models +namespace Microsoft.Health.Fhir.Liquid.Converter.Models { - public class CodeSystemMappingDocument : Document + public class CodeMappingDocument : Document { - public CodeSystemMappingDocument(List mapping) + public CodeMappingDocument(List mapping) { NodeList = mapping.Cast().ToList(); } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Models/FhirConverterErrorCode.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/FhirConverterErrorCode.cs index 6fede11bd..b3741c3b1 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Models/FhirConverterErrorCode.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/FhirConverterErrorCode.cs @@ -15,7 +15,7 @@ public enum FhirConverterErrorCode // InitializeException TemplateFolderNotFound = 1101, TemplateLoadingError = 1102, - InvalidCodeSystemMapping = 1103, + InvalidCodeMapping = 1103, TemplateSyntaxError = 1104, // DataParseException diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs index b3b095e4d..c9dc90747 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.Designer.cs @@ -88,11 +88,11 @@ internal static string InputParsingError { } /// - /// Looks up a localized string similar to The code system mapping file is invalid.. + /// Looks up a localized string similar to The code mapping file is invalid.. /// - internal static string InvalidCodeSystemMapping { + internal static string InvalidCodeMapping { get { - return ResourceManager.GetString("InvalidCodeSystemMapping", resourceCulture); + return ResourceManager.GetString("InvalidCodeMapping", resourceCulture); } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx index 5280321e2..9426815a1 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Resources.resx @@ -126,8 +126,8 @@ The input data could not be parsed correctly: {0} - - The code system mapping file is invalid. + + The code mapping file is invalid. The format of Date or DateTime is invalid: {0}. diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs index 9e6f54672..376bb1112 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs @@ -11,7 +11,6 @@ using DotLiquid.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.DotLiquids; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; -using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; using Microsoft.Health.Fhir.Liquid.Converter.Models; using Newtonsoft.Json; @@ -28,7 +27,12 @@ static TemplateUtility() Template.RegisterTag("evaluate"); } - public static Dictionary ParseHl7v2Templates(Dictionary templates) + /// + /// Parse templates from string, "CodeSystem/CodeSystem.json" and "ValueSet/ValueSet.json" are used for Hl7v2 and C-CDA datatype code mapping respectively + /// + /// A dictionary, key is the name, value is the template content in string format + /// A dictionary, key is the name, value is Template + public static Dictionary ParseTemplates(Dictionary templates) { var parsedTemplates = new Dictionary(); foreach (var entry in templates) @@ -36,7 +40,11 @@ public static Dictionary ParseHl7v2Templates(Dictionary ParseHl7v2Templates(Dictionary(content); + var mapping = JsonConvert.DeserializeObject(content); if (mapping == null || mapping.Mapping == null) { - throw new ConverterInitializeException(FhirConverterErrorCode.InvalidCodeSystemMapping, Resources.InvalidCodeSystemMapping); + throw new ConverterInitializeException(FhirConverterErrorCode.InvalidCodeMapping, Resources.InvalidCodeMapping); } var template = Template.Parse(string.Empty); - template.Root = new CodeSystemMappingDocument(new List() { mapping }); + template.Root = new CodeMappingDocument(new List() { mapping }); return template; } catch (JsonException ex) { - throw new ConverterInitializeException(FhirConverterErrorCode.InvalidCodeSystemMapping, Resources.InvalidCodeSystemMapping, ex); + throw new ConverterInitializeException(FhirConverterErrorCode.InvalidCodeMapping, Resources.InvalidCodeMapping, ex); } } diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs index 6dae69bbd..4c652b3c6 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs @@ -13,10 +13,12 @@ using DotLiquid; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Options; +using Microsoft.Health.Fhir.Liquid.Converter.Cda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.TemplateManagement.Exceptions; using Microsoft.Health.Fhir.TemplateManagement.Models; +using Newtonsoft.Json.Linq; using Xunit; namespace Microsoft.Health.Fhir.TemplateManagement.FunctionalTests @@ -30,6 +32,8 @@ public class TemplateCollectionFunctionalTests : IAsyncLifetime private readonly string userLayerTemplatePath = "TestData/TarGzFiles/userV2.tar.gz"; private readonly string invalidTarGzPath = "TestData/TarGzFiles/invalid1.tar.gz"; private readonly string invalidTemplatePath = "TestData/TarGzFiles/invalidTemplates.tar.gz"; + private readonly string _defaultHl7v2TemplateImageReference = "microsofthealth/hl7v2templates:default"; + private readonly string _defaultCcdaTemplateImageReference = "microsofthealth/ccdatemplates:default"; private readonly string testOneLayerImageReference; private readonly string testMultiLayerImageReference; private readonly string testInvalidImageReference; @@ -111,6 +115,23 @@ public static IEnumerable GetHl7v2DataAndTemplateSources() }); } + public static IEnumerable GetCdaDataAndTemplateSources() + { + var data = new List + { + new object[] { @"170.314B2_Amb_CCD.cda", @"CCD" }, + new object[] { @"C-CDA_R2-1_CCD.xml.cda", @"CCD" }, + new object[] { @"CCD.cda", @"CCD" }, + new object[] { @"CCD-Parent-Document-Replace-C-CDAR2.1.cda", @"CCD" }, + }; + return data.Select(item => new object[] + { + Path.Join(_sampleDataDirectory, "Cda", Convert.ToString(item[0])), + Path.Join(_templateDirectory, "Cda"), + Convert.ToString(item[1]), + }); + } + public static IEnumerable GetNotExistImageInfo() { yield return new object[] { "templatetest", "notexist" }; @@ -128,6 +149,13 @@ public static IEnumerable GetInvalidImageReference() yield return new object[] { "testacr.azurecr.io/name@" }; } + public static IEnumerable GetDefaultTemplatesInfo() + { + yield return new object[] { "microsofthealth/fhirconverter:default", 839 }; + yield return new object[] { "microsofthealth/hl7v2templates:default", 839 }; + yield return new object[] { "microsofthealth/ccdatemplates:default", 757 }; + } + [Fact] public async Task GiveImageReference_WhenGetTemplateCollection_IfImageTooLarge_ExceptionWillBeThrownAsync() { @@ -267,32 +295,31 @@ public async Task GetTemplateCollectionFromACR_WhenGivenHl7v2DataForConverting_I await Assert.ThrowsAsync(async () => TestByTemplate(hl7v2Data, entryTemplate, await templateCollectionProvider.GetTemplateCollectionAsync())); } - [Fact] - public async Task GiveDefaultImageReference_WhenGetTemplateCollectionWithEmptyToken_DefaultTemplatesWillBeReturnedAsync() + [Theory] + [MemberData(nameof(GetDefaultTemplatesInfo))] + public async Task GiveDefaultImageReference_WhenGetTemplateCollectionWithEmptyToken_DefaultTemplatesWillBeReturnedAsync(string imageReference, int expectedTemplatesCounts) { if (_containerRegistryInfo == null) { return; } - int defaultTemplatesCounts = 838; - string imageReference = ImageInfo.DefaultTemplateImageReference; TemplateCollectionProviderFactory factory = new TemplateCollectionProviderFactory(cache, Options.Create(_config)); var templateCollectionProvider = factory.CreateTemplateCollectionProvider(imageReference, string.Empty); var templateCollection = await templateCollectionProvider.GetTemplateCollectionAsync(); Assert.Single(templateCollection); - Assert.Equal(defaultTemplatesCounts, templateCollection.First().Count()); + Assert.Equal(expectedTemplatesCounts, templateCollection.First().Count()); } // Conversion results of DefaultTemplates.tar.gz and default template folder should be the same. [Theory] [MemberData(nameof(GetHl7v2DataAndTemplateSources))] - public async Task GivenSameInputData_WithDifferentTemplateSource_WhenConvert_ResultShouldBeIdentical(string inputFile, string defaultTemplateDirectory, string rootTemplate) + public async Task GivenHl7v2SameInputData_WithDifferentTemplateSource_WhenConvert_ResultShouldBeIdentical(string inputFile, string defaultTemplateDirectory, string rootTemplate) { var folderTemplateProvider = new Hl7v2TemplateProvider(defaultTemplateDirectory); var templateProviderFactory = new TemplateCollectionProviderFactory(new MemoryCache(new MemoryCacheOptions()), Options.Create(new TemplateCollectionConfiguration())); - var templateProvider = templateProviderFactory.CreateTemplateCollectionProvider(ImageInfo.DefaultTemplateImageReference, string.Empty); + var templateProvider = templateProviderFactory.CreateTemplateCollectionProvider(_defaultHl7v2TemplateImageReference, string.Empty); var imageTemplateProvider = new Hl7v2TemplateProvider(await templateProvider.GetTemplateCollectionAsync(CancellationToken.None)); var hl7v2Processor = new Hl7v2Processor(); @@ -303,6 +330,32 @@ public async Task GivenSameInputData_WithDifferentTemplateSource_WhenConvert_Res Assert.Equal(imageResult, folderResult); } + [Theory] + [MemberData(nameof(GetCdaDataAndTemplateSources))] + public async Task GivenCdaSameInputData_WithDifferentTemplateSource_WhenConvert_ResultShouldBeIdentical(string inputFile, string defaultTemplateDirectory, string rootTemplate) + { + var folderTemplateProvider = new CdaTemplateProvider(defaultTemplateDirectory); + + var templateProviderFactory = new TemplateCollectionProviderFactory(new MemoryCache(new MemoryCacheOptions()), Options.Create(new TemplateCollectionConfiguration())); + var templateProvider = templateProviderFactory.CreateTemplateCollectionProvider(_defaultCcdaTemplateImageReference, string.Empty); + var imageTemplateProvider = new CdaTemplateProvider(await templateProvider.GetTemplateCollectionAsync(CancellationToken.None)); + + var cdaProcessor = new CdaProcessor(); + var inputContent = File.ReadAllText(inputFile); + + var imageResult = cdaProcessor.Convert(inputContent, rootTemplate, imageTemplateProvider); + var folderResult = cdaProcessor.Convert(inputContent, rootTemplate, folderTemplateProvider); + + var imageResultObject = JObject.Parse(imageResult); + var folderResultObject = JObject.Parse(folderResult); + + // Remove DocumentReference, where date is different every time conversion is run and gzip result is OS dependent + imageResultObject["entry"]?.Last()?.Remove(); + folderResultObject["entry"]?.Last()?.Remove(); + + Assert.True(JToken.DeepEquals(imageResultObject, folderResultObject)); + } + private void TestByTemplate(string inputFile, string entryTemplate, List> templateProvider) { var hl7v2Processor = new Hl7v2Processor(); diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/ImageInfoTest.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/ImageInfoTest.cs deleted file mode 100644 index 5a5b24081..000000000 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/ImageInfoTest.cs +++ /dev/null @@ -1,103 +0,0 @@ -// ------------------------------------------------------------------------------------------------- -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. -// ------------------------------------------------------------------------------------------------- - -using System.Collections.Generic; -using Microsoft.Health.Fhir.TemplateManagement.Exceptions; -using Microsoft.Health.Fhir.TemplateManagement.Models; -using Xunit; - -namespace Microsoft.Health.Fhir.TemplateManagement.UnitTests -{ - public class ImageInfoTest - { - public static IEnumerable GetValidImageReferenceInfo() - { - yield return new object[] { "testacr.azurecr.io/templateset:v1", "testacr.azurecr.io", "templateset", "v1", null, "v1" }; - yield return new object[] { "testacr.azurecr.io/templateset@sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612", "testacr.azurecr.io", "templateset", "latest", "sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612", "sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612" }; - yield return new object[] { "testacr.azurecr.io/templateset", "testacr.azurecr.io", "templateset", "latest", null, "latest" }; - } - - public static IEnumerable GetInValidImageReferenceInfo() - { - yield return new object[] { "testacr.azurecr.io@v1" }; - yield return new object[] { "testacr.azurecr.io:templateset:v1" }; - yield return new object[] { "testacr.azurecr.io_v1" }; - yield return new object[] { "testacr.azurecr.io:v1" }; - yield return new object[] { "testacr.azurecr.io/" }; - yield return new object[] { "/testacr.azurecr.io" }; - yield return new object[] { "testacr.azurecr.io/name:" }; - yield return new object[] { "testacr.azurecr.io/:tag" }; - yield return new object[] { "testacr.azurecr.io/name@" }; - yield return new object[] { "testacr.azurecr.io/INVALID" }; - yield return new object[] { "testacr.azurecr.io/invalid_" }; - yield return new object[] { "testacr.azurecr.io/in*valid" }; - yield return new object[] { "testacr.azurecr.io/org/org/in*valid" }; - yield return new object[] { "testacr.azurecr.io/invalid____set" }; - yield return new object[] { "testacr.azurecr.io/invalid....set" }; - yield return new object[] { "testacr.azurecr.io/invalid._set" }; - yield return new object[] { "testacr.azurecr.io/_invalid" }; - } - - public static IEnumerable GetValidImageReference() - { - yield return new object[] { "testacr.azurecr.io/templateset:v1" }; - yield return new object[] { "testacr.azurecr.io/templateset@sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612" }; - yield return new object[] { "testacr.azurecr.io/templateset" }; - yield return new object[] { "testacr.azurecr.io/org/templateset" }; - yield return new object[] { "testacr.azurecr.io/org/template-set" }; - yield return new object[] { "testacr.azurecr.io/org/template.set" }; - yield return new object[] { "testacr.azurecr.io/org/template__set" }; - yield return new object[] { "testacr.azurecr.io/org/template-----set" }; - yield return new object[] { "testacr.azurecr.io/org/template-set_set.set" }; - } - - [Theory] - [MemberData(nameof(GetValidImageReferenceInfo))] - public void GivenAValidImageReference_WhenConctructImageInfo_ACorrectImageInfoShouldBeConstructed(string imageReference, string registry, string imageName, string tag, string digest, string label) - { - ImageInfo imageInfo = ImageInfo.CreateFromImageReference(imageReference); - Assert.Equal(registry, imageInfo.Registry); - Assert.Equal(imageName, imageInfo.ImageName); - Assert.Equal(tag, imageInfo.Tag); - Assert.Equal(digest, imageInfo.Digest); - Assert.Equal(label, imageInfo.Label); - } - - [Theory] - [MemberData(nameof(GetInValidImageReferenceInfo))] - public void GivenAnInValidImageReference_WhenConctructImageInfo_ExceptionShouldBeThrown(string imageReference) - { - Assert.Throws(() => ImageInfo.CreateFromImageReference(imageReference)); - } - - [Theory] - [MemberData(nameof(GetInValidImageReferenceInfo))] - public void GivenAnInValidImageReference_WhenCheckImageReference_IsInvalidResultWillBeReturned(string imageReference) - { - Assert.False(ImageInfo.IsValidImageReference(imageReference)); - } - - [Theory] - [MemberData(nameof(GetValidImageReference))] - public void GivenAValidImageReference_WhenCheckImageReference_IsValidResultWillBeReturned(string imageReference) - { - Assert.True(ImageInfo.IsValidImageReference(imageReference)); - } - - [Fact] - public void GivenDefaultTemplateReference_WhenCheckIsDefaultImageReference_TrueResultWillBeReturned() - { - var imageReference = "MicrosoftHealth/FhirConverter:default"; - Assert.True(ImageInfo.IsDefaultTemplateImageReference(imageReference)); - } - - [Fact] - public void GivenUnDefaultTemplateReference_WhenCheckIsDefaultImageReference_TrueResultWillBeReturned() - { - var imageReference = "test"; - Assert.False(ImageInfo.IsDefaultTemplateImageReference(imageReference)); - } - } -} diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs new file mode 100644 index 000000000..e67f3cd7a --- /dev/null +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs @@ -0,0 +1,92 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using Microsoft.Health.Fhir.Liquid.Converter.Models; +using Microsoft.Health.Fhir.TemplateManagement.Exceptions; +using Microsoft.Health.Fhir.TemplateManagement.Models; +using Xunit; + +namespace Microsoft.Health.Fhir.TemplateManagement.UnitTests +{ + public class DefaultTemplateInfoTest + { + public static IEnumerable GetValidDefaultTemplateInfo() + { + yield return new object[] { DataType.Hl7v2, "microsofthealth/fhirconverter:default", "Hl7v2DefaultTemplates.tar.gz" }; + yield return new object[] { DataType.Hl7v2, "microsofthealth/hl7v2templates:default", "Hl7v2DefaultTemplates.tar.gz" }; + yield return new object[] { DataType.Cda, "microsofthealth/ccdatemplates:default", "CdaDefaultTemplates.tar.gz" }; + } + + public static IEnumerable GetSupportedImageReference() + { + yield return new object[] { "microsofthealth/fhirconverter:default" }; + yield return new object[] { "microsofthealth/hl7v2templates:default" }; + yield return new object[] { "microsofthealth/ccdatemplates:default" }; + } + + public static IEnumerable GetSupportedImageReferenceWithCaseInsensitive() + { + yield return new object[] { "Microsofthealth/fhirconverter:default" }; + yield return new object[] { "microsofthealth/Fhirconverter:default" }; + yield return new object[] { "microsofthealth/fhirconverter:Default" }; + yield return new object[] { "MICROSOFTHEALTH/hl7v2templates:default" }; + yield return new object[] { "microsofthealth/ccdatemplates:DEFAULT" }; + } + + public static IEnumerable GetUnSupportedImageReference() + { + yield return new object[] { "microsofthealth/fhirconverter" }; + yield return new object[] { "microsofthealth/fhirconverter:tag" }; + yield return new object[] { "microsofthealth/fhirconverter_:default" }; + yield return new object[] { "microsofthealth/invalidtemplates:default" }; + } + + [Theory] + [MemberData(nameof(GetValidDefaultTemplateInfo))] + public void GivenAValidDefaultTemplateInfo_WhenConstructDefaultTemplateInfo_ACorrectDefaultTemplateInfoShouldBeConstructed(DataType dataType, string imageReference, string templatePath) + { + DefaultTemplateInfo defaultTemplateInfo = new DefaultTemplateInfo(dataType, imageReference, templatePath); + Assert.Equal(dataType, defaultTemplateInfo.DataType); + Assert.Equal(imageReference, defaultTemplateInfo.ImageReference); + Assert.Equal(templatePath, defaultTemplateInfo.TemplatePath); + } + + [Theory] + [MemberData(nameof(GetValidDefaultTemplateInfo))] + public void GivenADefaultTemplateInfo_WhenGetDefaultTemplateMap_TheContentShouldBeTheSame(DataType dataType, string imageReference, string templatePath) + { + var defaultTemplateInfo = DefaultTemplateInfo.DefaultTemplateMap.GetValueOrDefault(imageReference); + Assert.Equal(dataType, defaultTemplateInfo.DataType); + Assert.Equal(imageReference, defaultTemplateInfo.ImageReference); + Assert.Equal(templatePath, defaultTemplateInfo.TemplatePath); + } + + [Theory] + [MemberData(nameof(GetSupportedImageReference))] + [MemberData(nameof(GetSupportedImageReferenceWithCaseInsensitive))] + public void GivenAnSupportedImageReference_WhenCheckIsContainsKey_IsFalseWillBeReturned(string imageReference) + { + var defaultTemplateMap = DefaultTemplateInfo.DefaultTemplateMap; + Assert.True(defaultTemplateMap.ContainsKey(imageReference)); + } + + [Theory] + [MemberData(nameof(GetUnSupportedImageReference))] + public void GivenAnUnSupportedImageReference_WhenCheckIsContainsKey_IsFalseWillBeReturned(string imageReference) + { + var defaultTemplateMap = DefaultTemplateInfo.DefaultTemplateMap; + Assert.False(defaultTemplateMap.ContainsKey(imageReference)); + } + + [Theory] + [MemberData(nameof(GetUnSupportedImageReference))] + public void GivenAnUnSupportedImageReference_WhenGetValue_NullWillBeReturned(string imageReference) + { + var defaultTemplateMap = DefaultTemplateInfo.DefaultTemplateMap; + Assert.Null(defaultTemplateMap.GetValueOrDefault(imageReference)); + } + } +} diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/ImageInfoTest.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/ImageInfoTest.cs new file mode 100644 index 000000000..e9c6ddd0b --- /dev/null +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/ImageInfoTest.cs @@ -0,0 +1,181 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System.Collections.Generic; +using Microsoft.Health.Fhir.TemplateManagement.Exceptions; +using Microsoft.Health.Fhir.TemplateManagement.Models; +using Xunit; + +namespace Microsoft.Health.Fhir.TemplateManagement.UnitTests +{ + public class ImageInfoTest + { + public static IEnumerable GetValidImageReferenceInfo() + { + yield return new object[] { "testacr.azurecr.io/templateset:v1", "testacr.azurecr.io", "templateset", "v1", null, "v1" }; + yield return new object[] { "testacr.azurecr.io/templateset@sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612", "testacr.azurecr.io", "templateset", "latest", "sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612", "sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612" }; + yield return new object[] { "testacr.azurecr.io/templateset", "testacr.azurecr.io", "templateset", "latest", null, "latest" }; + } + + public static IEnumerable GetInValidImageReference() + { + yield return new object[] { "testacr.azurecr.io@v1" }; + yield return new object[] { "testacr.azurecr.io:templateset:v1" }; + yield return new object[] { "testacr.azurecr.io_v1" }; + yield return new object[] { "testacr.azurecr.io:v1" }; + yield return new object[] { "testacr.azurecr.io/" }; + yield return new object[] { "/testacr.azurecr.io" }; + yield return new object[] { "testacr.azurecr.io/name:" }; + yield return new object[] { "testacr.azurecr.io/:tag" }; + yield return new object[] { "testacr.azurecr.io/name@" }; + yield return new object[] { "testacr.azurecr.io/INVALID" }; + yield return new object[] { "testacr.azurecr.io/invalid_" }; + yield return new object[] { "testacr.azurecr.io/in*valid" }; + yield return new object[] { "testacr.azurecr.io/org/org/in*valid" }; + yield return new object[] { "testacr.azurecr.io/invalid____set" }; + yield return new object[] { "testacr.azurecr.io/invalid....set" }; + yield return new object[] { "testacr.azurecr.io/invalid._set" }; + yield return new object[] { "testacr.azurecr.io/_invalid" }; + yield return new object[] { "testacr.azurecr.io/Templateset:v1" }; + } + + public static IEnumerable GetInValidImageReferenceWithCaseSensitive() + { + yield return new object[] { "testacr.azurecr.io/Templateset:v1" }; + yield return new object[] { "testacr.azurecr.io/TEMPLATESET:v1" }; + } + + public static IEnumerable GetValidImageReference() + { + yield return new object[] { "testacr.azurecr.io/templateset:v1" }; + yield return new object[] { "testacr.azurecr.io/templateset@sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612" }; + yield return new object[] { "testacr.azurecr.io/templateset" }; + yield return new object[] { "testacr.azurecr.io/org/templateset" }; + yield return new object[] { "testacr.azurecr.io/org/template-set" }; + yield return new object[] { "testacr.azurecr.io/org/template.set" }; + yield return new object[] { "testacr.azurecr.io/org/template__set" }; + yield return new object[] { "testacr.azurecr.io/org/template-----set" }; + yield return new object[] { "testacr.azurecr.io/org/template-set_set.set" }; + yield return new object[] { "Testacr.azurecr.io/templateset:v1" }; + yield return new object[] { "testacr.azurecr.io/templateset:V1" }; + } + + public static IEnumerable GetValidImageReferenceWithCaseSensitive() + { + yield return new object[] { "Testacr.azurecr.io/templateset:v1" }; + yield return new object[] { "TESTACR.azurecr.io/templateset:v1" }; + yield return new object[] { "testacr.Azurecr.io/templateset:v1" }; + yield return new object[] { "testacr.azurecr.IO/templateset:v1" }; + yield return new object[] { "testacr.azurecr.io/templateset:V1" }; + } + + public static IEnumerable GetUnDefaultTemplateReference() + { + yield return new object[] { "testacr.azurecr.io/templateset:v1" }; + yield return new object[] { "testacr.azurecr.io/templateset@sha256:e6dcff9eaf7604aa7a855e52b2cda22c5cfc5cadaa035892557c4ff19630b612" }; + yield return new object[] { "testacr.azurecr.io/templateset" }; + } + + public static IEnumerable GetDefaultTemplateReference() + { + yield return new object[] { "microsofthealth/fhirconverter:default" }; + yield return new object[] { "microsofthealth/hl7v2templates:default" }; + yield return new object[] { "microsofthealth/ccdatemplates:default" }; + } + + public static IEnumerable GetDefaultTemplateReferenceWithCaseInsensitive() + { + yield return new object[] { "Microsofthealth/fhirconverter:default" }; + yield return new object[] { "microsofthealth/Fhirconverter:default" }; + yield return new object[] { "microsofthealth/fhirconverter:Default" }; + yield return new object[] { "MICROSOFTHEALTH/FHIRCONVERTER:DEFAULT" }; + yield return new object[] { "MicrosoftHealth/Hl7v2Templates:default" }; + yield return new object[] { "microsoftHealth/CcdaTemplates:default" }; + } + + public static IEnumerable GetInvalidDefaultTemplateReference() + { + yield return new object[] { "MicrosoftHealth/FhirConverter:tag" }; + yield return new object[] { "MicrosoftHealth" }; + yield return new object[] { "MicrosoftHealth/FhirConverter" }; + yield return new object[] { "FhirConverter:tag" }; + yield return new object[] { "MicrosoftHealth//FhirConverter:default" }; + yield return new object[] { "icrosoftHealth/FhirConverter:default" }; + yield return new object[] { "MicrosoftHealth/FhirConverter@default" }; + yield return new object[] { "MicrosoftHealth/Hl7v2Templates" }; + yield return new object[] { "MicrosoftHealth/Hl7v2Templates@default" }; + yield return new object[] { "MicrosoftHealth/templates:default" }; + yield return new object[] { "test" }; + } + + [Theory] + [MemberData(nameof(GetValidImageReferenceInfo))] + public void GivenAValidImageReference_WhenConstructImageInfo_ACorrectImageInfoShouldBeConstructed(string imageReference, string registry, string imageName, string tag, string digest, string label) + { + ImageInfo imageInfo = ImageInfo.CreateFromImageReference(imageReference); + Assert.Equal(registry, imageInfo.Registry); + Assert.Equal(imageName, imageInfo.ImageName); + Assert.Equal(tag, imageInfo.Tag); + Assert.Equal(digest, imageInfo.Digest); + Assert.Equal(label, imageInfo.Label); + } + + [Theory] + [MemberData(nameof(GetInValidImageReference))] + [MemberData(nameof(GetInValidImageReferenceWithCaseSensitive))] + public void GivenAnInValidImageReference_WhenConstructImageInfo_ExceptionShouldBeThrown(string imageReference) + { + Assert.Throws(() => ImageInfo.CreateFromImageReference(imageReference)); + } + + [Theory] + [MemberData(nameof(GetInValidImageReference))] + [MemberData(nameof(GetInValidImageReferenceWithCaseSensitive))] + public void GivenAnInValidImageReference_WhenCheckImageReference_IsInvalidResultWillBeReturned(string imageReference) + { + Assert.False(ImageInfo.IsValidImageReference(imageReference)); + } + + [Theory] + [MemberData(nameof(GetValidImageReference))] + [MemberData(nameof(GetValidImageReferenceWithCaseSensitive))] + public void GivenAValidImageReference_WhenCheckImageReference_IsValidResultWillBeReturned(string imageReference) + { + Assert.True(ImageInfo.IsValidImageReference(imageReference)); + } + + [Theory] + [MemberData(nameof(GetDefaultTemplateReference))] + [MemberData(nameof(GetDefaultTemplateReferenceWithCaseInsensitive))] + public void GivenADefaultTemplateReferenceAsImageReference_WhenCheckIsDefaultTemplate_IsTrueResultWillBeReturned(string imageReference) + { + Assert.True(ImageInfo.IsDefaultTemplateImageReference(imageReference)); + } + + [Theory] + [MemberData(nameof(GetDefaultTemplateReference))] + [MemberData(nameof(GetDefaultTemplateReferenceWithCaseInsensitive))] + public void GivenADefaultTemplateReferenceAsImageReference_WhenCreateImageInfoAndCheckIsDefaultTemplate_IsTrueResultWillBeReturned(string imageReference) + { + var imageInfo = ImageInfo.CreateFromImageReference(imageReference); + Assert.True(imageInfo.IsDefaultTemplate()); + } + + [Theory] + [MemberData(nameof(GetUnDefaultTemplateReference))] + public void GivenAUnDefaultTemplateReferenceAsImageReference_WhenCheckIsDefaultTemplate_IsFalseResultWillBeReturned(string imageReference) + { + var imageInfo = ImageInfo.CreateFromImageReference(imageReference); + Assert.False(imageInfo.IsDefaultTemplate()); + } + + [Theory] + [MemberData(nameof(GetInvalidDefaultTemplateReference))] + public void GivenInvalidDefaultTemplateReference_WhenCheckIsDefaultImageReference_IsFalseResultWillBeReturned(string imageReference) + { + Assert.False(ImageInfo.IsDefaultTemplateImageReference(imageReference)); + } + } +} diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs index e9db3f960..a076fae80 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs @@ -9,7 +9,6 @@ using System.Linq; using System.Threading; using System.Threading.Tasks; -using DotLiquid; using Microsoft.Azure.ContainerRegistry.Models; using Microsoft.Extensions.Caching.Memory; using Microsoft.Health.Fhir.TemplateManagement.ArtifactProviders; @@ -29,8 +28,17 @@ public class TemplateCollectionProviderTests : ArtifactProviderTests public TemplateCollectionProviderTests() { - TemplateLayer defaultTempalteLayer = TemplateLayer.ReadFromEmbeddedResource(); - _cache.Set(ImageInfo.DefaultTemplateImageReference, defaultTempalteLayer, new MemoryCacheEntryOptions() { AbsoluteExpiration = System.Runtime.Caching.ObjectCache.InfiniteAbsoluteExpiration, Size = 0 }); + MemoryCacheEntryOptions memoryOption = new MemoryCacheEntryOptions() + { + AbsoluteExpiration = System.Runtime.Caching.ObjectCache.InfiniteAbsoluteExpiration, + Size = 0, + }; + + TemplateLayer hl7V2DefaultTemplateLayer = TemplateLayer.ReadFromEmbeddedResource("Hl7v2DefaultTemplates.tar.gz"); + _cache.Set("microsofthealth/fhirconverter:default", hl7V2DefaultTemplateLayer, memoryOption); + _cache.Set("microsofthealth/hl7v2templates:default", hl7V2DefaultTemplateLayer, memoryOption); + TemplateLayer cdaDefaultTemplateLayer = TemplateLayer.ReadFromEmbeddedResource("CdaDefaultTemplates.tar.gz"); + _cache.Set("microsofthealth/ccdatemplates:default", cdaDefaultTemplateLayer, memoryOption); PushLargeSizeManifest(); } @@ -73,6 +81,13 @@ public static IEnumerable GetImageInfoForArtifactWithTag() yield return new object[] { "mockregistry/testimagename:default", new List { 817 } }; } + public static IEnumerable GetDefaultTemplatesInfo() + { + yield return new object[] { "microsofthealth/fhirconverter:default", 839 }; + yield return new object[] { "microsofthealth/hl7v2templates:default", 839 }; + yield return new object[] { "microsofthealth/ccdatemplates:default", 757 }; + } + [Theory] [MemberData(nameof(GetValidLayerInfo))] public async Task GivenValidLayerInfo_WhenGetLayerFromTemplateCollectionProvider_ACorrectTemplateLayerShouldBeReturnedAsync(string imageReference, string layerDigest, int expectedCounts) @@ -183,20 +198,20 @@ public async Task GivenImageInfo_WhenGetTemplateCollectionFromTemplateCollection Assert.Equal(0, smallCache.Count); } - [Fact] - public async Task GivenDefaultTemplateReference_WhenGetTemplateCollectionFromTemplateProvider_DefaultTemplateCollectionWillBeReturned() + [Theory] + [MemberData(nameof(GetDefaultTemplatesInfo))] + public async Task GivenDefaultTemplateReference_WhenGetTemplateCollectionFromTemplateProvider_DefaultTemplateCollectionWillBeReturned(string imageReference, int expectedTemplatesCounts) { - string imageReference = ImageInfo.DefaultTemplateImageReference; ImageInfo imageInfo = ImageInfo.CreateFromImageReference(imageReference); var newTemplateCollectionProvider = new TemplateCollectionProvider(imageInfo, _emptyClient, _cache, _defaultConfig); var templateCollection = await newTemplateCollectionProvider.GetTemplateCollectionAsync(); - Assert.Equal(839, templateCollection.First().Count()); + Assert.Equal(expectedTemplatesCounts, templateCollection.First().Count()); } [Fact] public async Task GivenDefaultTemplateReference_WhenGetTemplateCollectionFromTemplateProvider_IfNotInitialized_ExceptionWillBeThrown() { - string imageReference = ImageInfo.DefaultTemplateImageReference; + string imageReference = "microsofthealth/fhirconverter:default"; ImageInfo imageInfo = ImageInfo.CreateFromImageReference(imageReference); var emptyCache = new MemoryCache(new MemoryCacheOptions()); var newTemplateCollectionProvider = new TemplateCollectionProvider(imageInfo, _emptyClient, emptyCache, _defaultConfig); diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs index 0f24331bd..a70409cd8 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs @@ -3,15 +3,13 @@ // Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. // ------------------------------------------------------------------------------------------------- -using System; using System.Collections.Generic; using System.IO; -using System.Threading.Tasks; using ICSharpCode.SharpZipLib.GZip; using ICSharpCode.SharpZipLib.Tar; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Options; -using Microsoft.Health.Fhir.TemplateManagement.ArtifactProviders; +using Microsoft.Health.Fhir.Liquid.Converter.Models; using Microsoft.Health.Fhir.TemplateManagement.Exceptions; using Microsoft.Health.Fhir.TemplateManagement.Models; using Xunit; @@ -20,10 +18,12 @@ namespace Microsoft.Health.Fhir.TemplateManagement.UnitTests { public class TemplateCollectionProviderFactoryTests { - private readonly string templateFolder = @"..\..\..\..\..\data\Templates\Hl7v2"; private readonly TemplateCollectionConfiguration _config = new TemplateCollectionConfiguration(); private readonly string _token = "Basic FakeToken"; private readonly IMemoryCache _cache = new MemoryCache(new MemoryCacheOptions() { SizeLimit = 100000000 }); + private static readonly string _defaultTemplateImageReference = "microsofthealth/fhirconverter:default"; + private static readonly string _defaultHl7v2TemplateImageReference = "microsofthealth/hl7v2templates:default"; + private static readonly string _defaultCcdaTemplateImageReference = "microsofthealth/ccdatemplates:default"; public static IEnumerable GetValidImageInfoWithTag() { @@ -37,6 +37,20 @@ public static IEnumerable GetValidImageInfoWithDigest() yield return new object[] { "testacr.azurecr.io/templateset@sha256:95074605bbe28f191fffd85a8e3a581d6fdbe440908c3b5f36dd1b532907a530" }; } + public static IEnumerable GetDefaultTemplateTarGzFile() + { + yield return new object[] { "NewDefaultTemplates.tar.gz", _defaultTemplateImageReference, @"..\..\..\..\..\data\Templates\Hl7v2" }; + yield return new object[] { "Hl7v2NewDefaultTemplates.tar.gz", _defaultHl7v2TemplateImageReference, @"..\..\..\..\..\data\Templates\Hl7v2" }; + yield return new object[] { "CdaNewDefaultTemplates.tar.gz", _defaultCcdaTemplateImageReference, @"..\..\..\..\..\data\Templates\Cda" }; + } + + public static IEnumerable GetDefaultImageReference() + { + yield return new object[] { _defaultTemplateImageReference }; + yield return new object[] { _defaultHl7v2TemplateImageReference }; + yield return new object[] { _defaultCcdaTemplateImageReference }; + } + [Theory] [MemberData(nameof(GetValidImageInfoWithTag))] [MemberData(nameof(GetValidImageInfoWithDigest))] @@ -47,38 +61,41 @@ public void GiveImageReference_WhenGetTemplateProvider_ACorrectTemplateProviderW Assert.NotNull(factory.CreateTemplateCollectionProvider(imageReference, _token)); } - [Fact] - public void GiveDefaultImageReference_WhenGetTemplateProviderWithEmptyToken_ADefaultTemplateProviderWillBeReturnedAsync() - { - string imageReference = ImageInfo.DefaultTemplateImageReference; - TemplateCollectionProviderFactory factory = new TemplateCollectionProviderFactory(_cache, Options.Create(_config)); - Assert.NotNull(factory.CreateProvider(imageReference, string.Empty)); - Assert.NotNull(factory.CreateTemplateCollectionProvider(imageReference, string.Empty)); - } - [Fact] public void GivenAnInvalidToken_WhenGetTemplateProvider_AnExceptionWillBeThrown() { string imageReference = "testacr.azurecr.io/templates:test1"; TemplateCollectionProviderFactory factory = new TemplateCollectionProviderFactory(_cache, Options.Create(_config)); Assert.Throws(() => factory.CreateProvider(imageReference, string.Empty)); - Assert.Throws(() => factory.CreateProvider(imageReference, string.Empty)); + Assert.Throws(() => factory.CreateTemplateCollectionProvider(imageReference, string.Empty)); } [Fact] public void GivenAWrongDefaultTemplatePath_WhenInitDefaultTemplate_ExceptionWillBeThrown() { TemplateCollectionProviderFactory factory = new TemplateCollectionProviderFactory(_cache, Options.Create(_config)); - Assert.Throws(() => factory.InitDefaultTemplates("WrongPath")); + DefaultTemplateInfo templateInfo = new DefaultTemplateInfo(DataType.Hl7v2, _defaultTemplateImageReference, "WrongPath"); + Assert.Throws(() => factory.InitDefaultTemplates(templateInfo)); } - [Fact] - public void GiveNewDefaultTemplateTarGzFile_WhenInitDefaultTemplate_DefaultTemplatesWillBeInit() + [Theory] + [MemberData(nameof(GetDefaultImageReference))] + public void GiveDefaultImageReference_WhenGetTemplateProviderWithEmptyToken_ADefaultTemplateProviderWillBeReturnedAsync(string imageReference) + { + TemplateCollectionProviderFactory factory = new TemplateCollectionProviderFactory(_cache, Options.Create(_config)); + Assert.NotNull(factory.CreateProvider(imageReference, string.Empty)); + Assert.NotNull(factory.CreateTemplateCollectionProvider(imageReference, string.Empty)); + } + + [Theory] + [MemberData(nameof(GetDefaultTemplateTarGzFile))] + + public void GiveNewDefaultTemplateTarGzFile_WhenInitDefaultTemplate_DefaultTemplatesWillBeInit(string targzName, string imageReference, string templateFolder) { - string imageReference = ImageInfo.DefaultTemplateImageReference; - CreateTarGz("NewDefaultTemplates.tar.gz", templateFolder); + CreateTarGz(targzName, templateFolder); TemplateCollectionProviderFactory factory = new TemplateCollectionProviderFactory(_cache, Options.Create(_config)); - factory.InitDefaultTemplates("NewDefaultTemplates.tar.gz"); + DefaultTemplateInfo templateInfo = new DefaultTemplateInfo(DataType.Hl7v2, imageReference, targzName); + factory.InitDefaultTemplates(templateInfo); Assert.NotNull(factory.CreateProvider(imageReference, string.Empty)); } @@ -109,4 +126,4 @@ private void AddDirectoryFilesToTar(TarArchive tarArchive, string sourceDirector } } } -} +} \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateLayerParserTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateLayerParserTests.cs index 23800bdac..a60831d31 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateLayerParserTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateLayerParserTests.cs @@ -7,7 +7,6 @@ using System.IO; using System.Linq; using System.Text; -using DotLiquid; using Microsoft.Health.Fhir.TemplateManagement.Exceptions; using Microsoft.Health.Fhir.TemplateManagement.Models; using Microsoft.Health.Fhir.TemplateManagement.Utilities; diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/ArtifactProviders/TemplateCollectionProvider.cs b/src/Microsoft.Health.Fhir.TemplateManagement/ArtifactProviders/TemplateCollectionProvider.cs index 1895ebd33..c673de6e3 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/ArtifactProviders/TemplateCollectionProvider.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/ArtifactProviders/TemplateCollectionProvider.cs @@ -106,7 +106,8 @@ public override async Task GetLayerAsync(string layerDigest, C private List> GetTemplateCollectionFromDefaultTemplates() { - if (_templateCache.Get(ImageInfo.DefaultTemplateImageReference) is TemplateLayer oneTemplateLayer) + string defaultImageReference = DefaultTemplateInfo.DefaultTemplateMap.GetValueOrDefault(ImageInfo.ImageReference)?.ImageReference; + if (_templateCache.Get(defaultImageReference) is TemplateLayer oneTemplateLayer) { return new List> { oneTemplateLayer.TemplateContent }; } diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Constants.cs b/src/Microsoft.Health.Fhir.TemplateManagement/Constants.cs index 071cb1a8d..5837dd965 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Constants.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Constants.cs @@ -7,9 +7,7 @@ namespace Microsoft.Health.Fhir.TemplateManagement { internal static class Constants { - internal const string DefaultTemplatePath = "Hl7v2DefaultTemplates.tar.gz"; - - // Accept meidia type for manifest. + // Accept media type for manifest. internal const string MediatypeV2Manifest = "application/vnd.docker.distribution.manifest.v2+json"; internal const string ImageReferenceFormat = "{0}/{1}:{2}"; diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Factory/TemplateCollectionProviderFactory.cs b/src/Microsoft.Health.Fhir.TemplateManagement/Factory/TemplateCollectionProviderFactory.cs index 81c41a8f0..ef3b646a5 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Factory/TemplateCollectionProviderFactory.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Factory/TemplateCollectionProviderFactory.cs @@ -3,8 +3,6 @@ // Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. // ------------------------------------------------------------------------------------------------- -using System; -using System.IO; using System.Net.Http.Headers; using System.Runtime.Caching; using EnsureThat; @@ -14,7 +12,6 @@ using Microsoft.Health.Fhir.TemplateManagement.Client; using Microsoft.Health.Fhir.TemplateManagement.Exceptions; using Microsoft.Health.Fhir.TemplateManagement.Models; -using Microsoft.Health.Fhir.TemplateManagement.Utilities; namespace Microsoft.Health.Fhir.TemplateManagement { @@ -48,7 +45,7 @@ public ITemplateCollectionProvider CreateTemplateCollectionProvider(string image EnsureArg.IsNotNull(imageReference, nameof(imageReference)); EnsureArg.IsNotNull(token, nameof(token)); - if (!string.Equals(imageReference, ImageInfo.DefaultTemplateImageReference, StringComparison.InvariantCultureIgnoreCase) + if (!ImageInfo.IsDefaultTemplateImageReference(imageReference) && !AuthenticationHeaderValue.TryParse(token, out _)) { throw new ContainerRegistryAuthenticationException(TemplateManagementErrorCode.RegistryUnauthorized, "Invalid authentication token"); @@ -59,20 +56,33 @@ public ITemplateCollectionProvider CreateTemplateCollectionProvider(string image return new TemplateCollectionProvider(imageInfo, client, _templateCache, _configuration); } - public void InitDefaultTemplates() + private void InitDefaultTemplates() { - TemplateLayer defaultTemplateLayer = TemplateLayer.ReadFromEmbeddedResource(); - _templateCache.Set(ImageInfo.DefaultTemplateImageReference, defaultTemplateLayer, new MemoryCacheEntryOptions() { AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration, Size = defaultTemplateLayer.Size, Priority = Extensions.Caching.Memory.CacheItemPriority.NeverRemove }); - _templateCache.Set(defaultTemplateLayer.Digest, defaultTemplateLayer, new MemoryCacheEntryOptions() { AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration, Size = defaultTemplateLayer.Size, Priority = Extensions.Caching.Memory.CacheItemPriority.NeverRemove }); + var memoryOption = new MemoryCacheEntryOptions() + { + AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration, + Priority = Extensions.Caching.Memory.CacheItemPriority.NeverRemove, + }; + foreach (var templateInfo in DefaultTemplateInfo.DefaultTemplateMap) + { + TemplateLayer templateLayer = TemplateLayer.ReadFromEmbeddedResource(templateInfo.Value.TemplatePath); + memoryOption.SetSize(templateLayer.Size); + _templateCache.Set(templateInfo.Value.ImageReference, templateLayer, memoryOption); + _templateCache.Set(templateLayer.Digest, templateLayer, memoryOption); + } } - public void InitDefaultTemplates(string path) + public void InitDefaultTemplates(DefaultTemplateInfo templateInfo) { - path ??= Path.Combine(AppDomain.CurrentDomain.BaseDirectory, Constants.DefaultTemplatePath); - - TemplateLayer defaultTemplateLayer = TemplateLayer.ReadFromFile(path); - _templateCache.Set(ImageInfo.DefaultTemplateImageReference, defaultTemplateLayer, new MemoryCacheEntryOptions() { AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration, Size = defaultTemplateLayer.Size, Priority = Extensions.Caching.Memory.CacheItemPriority.NeverRemove }); - _templateCache.Set(defaultTemplateLayer.Digest, defaultTemplateLayer, new MemoryCacheEntryOptions() { AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration, Size = defaultTemplateLayer.Size, Priority = Extensions.Caching.Memory.CacheItemPriority.NeverRemove }); + TemplateLayer defaultTemplateLayer = TemplateLayer.ReadFromFile(templateInfo.TemplatePath); + var memoryOption = new MemoryCacheEntryOptions() + { + AbsoluteExpiration = ObjectCache.InfiniteAbsoluteExpiration, + Size = defaultTemplateLayer.Size, + Priority = Extensions.Caching.Memory.CacheItemPriority.NeverRemove, + }; + _templateCache.Set(templateInfo.ImageReference, defaultTemplateLayer, memoryOption); + _templateCache.Set(defaultTemplateLayer.Digest, defaultTemplateLayer, memoryOption); } } } diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.Liquid.Converter.nuspec b/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.Liquid.Converter.nuspec index cfa14d16f..75ae8f1d0 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.Liquid.Converter.nuspec +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.Liquid.Converter.nuspec @@ -26,13 +26,9 @@ - - - - \ No newline at end of file diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj b/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj index 9caa58307..3e89e0855 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj @@ -25,13 +25,16 @@ - + Hl7v2DefaultTemplates.tar.gz + + CdaDefaultTemplates.tar.gz + - + PreserveNewest @@ -40,6 +43,7 @@ + diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs b/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs new file mode 100644 index 000000000..12349b4a3 --- /dev/null +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs @@ -0,0 +1,37 @@ +// ------------------------------------------------------------------------------------------------- +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License (MIT). See LICENSE in the repo root for license information. +// ------------------------------------------------------------------------------------------------- + +using System; +using System.Collections.Generic; +using Microsoft.Health.Fhir.Liquid.Converter.Models; + +namespace Microsoft.Health.Fhir.TemplateManagement.Models +{ + public class DefaultTemplateInfo + { + public DefaultTemplateInfo(DataType dataType, string imageReference, string templatePath) + { + DataType = dataType; + ImageReference = imageReference; + TemplatePath = templatePath; + } + + /// + /// The default templates map, key is image reference, value is default templates information. + /// + public static IReadOnlyDictionary DefaultTemplateMap { get; } = new Dictionary(StringComparer.OrdinalIgnoreCase) + { + { "microsofthealth/fhirconverter:default", new DefaultTemplateInfo(DataType.Hl7v2, "microsofthealth/fhirconverter:default", "Hl7v2DefaultTemplates.tar.gz") }, + { "microsofthealth/hl7v2templates:default", new DefaultTemplateInfo(DataType.Hl7v2, "microsofthealth/hl7v2templates:default", "Hl7v2DefaultTemplates.tar.gz") }, + { "microsofthealth/ccdatemplates:default", new DefaultTemplateInfo(DataType.Cda, "microsofthealth/ccdatemplates:default", "CdaDefaultTemplates.tar.gz") }, + }; + + public DataType DataType { get; set; } + + public string ImageReference { get; set; } + + public string TemplatePath { get; set; } + } +} diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Models/ImageInfo.cs b/src/Microsoft.Health.Fhir.TemplateManagement/Models/ImageInfo.cs index c16c655e2..cb9b22c51 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Models/ImageInfo.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Models/ImageInfo.cs @@ -11,7 +11,6 @@ namespace Microsoft.Health.Fhir.TemplateManagement.Models { public class ImageInfo { - public const string DefaultTemplateImageReference = "microsofthealth/fhirconverter:default"; private const char ImageDigestDelimiter = '@'; private const char ImageTagDelimiter = ':'; private const char ImageRegistryDelimiter = '/'; @@ -50,12 +49,12 @@ public string Label public bool IsDefaultTemplate() { - return string.Equals(ImageReference, DefaultTemplateImageReference, StringComparison.InvariantCultureIgnoreCase); + return IsDefaultTemplateImageReference(ImageReference); } public static bool IsDefaultTemplateImageReference(string imageReference) { - return string.Equals(imageReference, DefaultTemplateImageReference, StringComparison.InvariantCultureIgnoreCase); + return DefaultTemplateInfo.DefaultTemplateMap.ContainsKey(imageReference); } public static bool IsValidImageReference(string imageReference) @@ -73,80 +72,64 @@ public static bool IsValidImageReference(string imageReference) public static void ValidateImageReference(string imageReference) { - var registryDelimiterPosition = imageReference.IndexOf(ImageRegistryDelimiter, StringComparison.InvariantCultureIgnoreCase); - if (registryDelimiterPosition <= 0 || registryDelimiterPosition == imageReference.Length - 1) - { - throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid: registry server is missing."); - } - else + if (IsDefaultTemplateImageReference(imageReference)) { - imageReference = imageReference.Substring(registryDelimiterPosition + 1); - string imageName = imageReference; - if (imageReference.Contains(ImageDigestDelimiter, StringComparison.OrdinalIgnoreCase)) - { - var digestDelimiterPosition = imageReference.IndexOf(ImageDigestDelimiter, StringComparison.InvariantCultureIgnoreCase); - if (digestDelimiterPosition <= 0 || digestDelimiterPosition == imageReference.Length - 1) - { - throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid: digest is missing."); - } - else - { - imageName = imageReference.Substring(0, digestDelimiterPosition); - } - } - else if (imageReference.Contains(ImageTagDelimiter, StringComparison.OrdinalIgnoreCase)) - { - var tagDelimiterPosition = imageReference.IndexOf(ImageTagDelimiter, StringComparison.InvariantCultureIgnoreCase); - if (tagDelimiterPosition <= 0 || tagDelimiterPosition == imageReference.Length - 1) - { - throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid: tag is missing."); - } - else - { - imageName = imageReference.Substring(0, tagDelimiterPosition); - } - } - - ValidateImageName(imageName); + return; } - } - public static ImageInfo CreateFromImageReference(string imageReference) - { var registryDelimiterPosition = imageReference.IndexOf(ImageRegistryDelimiter, StringComparison.InvariantCultureIgnoreCase); if (registryDelimiterPosition <= 0 || registryDelimiterPosition == imageReference.Length - 1) { throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid: registry server is missing."); } - var registryServer = imageReference.Substring(0, registryDelimiterPosition); imageReference = imageReference.Substring(registryDelimiterPosition + 1); - + string imageName = imageReference; if (imageReference.Contains(ImageDigestDelimiter, StringComparison.OrdinalIgnoreCase)) { Tuple imageMeta = ParseImageMeta(imageReference, ImageDigestDelimiter); if (string.IsNullOrEmpty(imageMeta.Item1) || string.IsNullOrEmpty(imageMeta.Item2)) { - throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid."); + throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid: digest is missing."); } - ValidateImageName(imageMeta.Item1); - return new ImageInfo(registryServer, imageMeta.Item1, tag: null, digest: imageMeta.Item2); + imageName = imageMeta.Item1; } else if (imageReference.Contains(ImageTagDelimiter, StringComparison.OrdinalIgnoreCase)) { Tuple imageMeta = ParseImageMeta(imageReference, ImageTagDelimiter); if (string.IsNullOrEmpty(imageMeta.Item1) || string.IsNullOrEmpty(imageMeta.Item2)) { - throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid."); + throw new ImageReferenceException(TemplateManagementErrorCode.InvalidReference, "Template reference format is invalid: tag is missing."); } - ValidateImageName(imageMeta.Item1); + imageName = imageMeta.Item1; + } + + ValidateImageName(imageName); + } + + public static ImageInfo CreateFromImageReference(string imageReference) + { + ValidateImageReference(imageReference); + + var registryDelimiterPosition = imageReference.IndexOf(ImageRegistryDelimiter, StringComparison.InvariantCultureIgnoreCase); + var registryServer = imageReference.Substring(0, registryDelimiterPosition); + string imageMetaStr = imageReference.Substring(registryDelimiterPosition + 1); + + if (imageMetaStr.Contains(ImageDigestDelimiter, StringComparison.OrdinalIgnoreCase)) + { + Tuple imageMeta = ParseImageMeta(imageMetaStr, ImageDigestDelimiter); + return new ImageInfo(registryServer, imageMeta.Item1, tag: null, digest: imageMeta.Item2); + } + + if (imageMetaStr.Contains(ImageTagDelimiter, StringComparison.OrdinalIgnoreCase)) + { + Tuple imageMeta = ParseImageMeta(imageMetaStr, ImageTagDelimiter); return new ImageInfo(registryServer, imageMeta.Item1, tag: imageMeta.Item2); } - ValidateImageName(imageReference); - return new ImageInfo(registryServer, imageReference); + return new ImageInfo(registryServer, imageMetaStr); } private static Tuple ParseImageMeta(string input, char delimiter) diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Models/TemplateLayer.cs b/src/Microsoft.Health.Fhir.TemplateManagement/Models/TemplateLayer.cs index f3a543668..9777fe5bc 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Models/TemplateLayer.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Models/TemplateLayer.cs @@ -9,6 +9,7 @@ using System.Linq; using System.Reflection; using DotLiquid; +using Microsoft.Health.Fhir.Liquid.Converter.Models; using Microsoft.Health.Fhir.TemplateManagement.Exceptions; using Microsoft.Health.Fhir.TemplateManagement.Utilities; @@ -18,11 +19,11 @@ public class TemplateLayer : OCIArtifactLayer { public Dictionary TemplateContent { get; set; } - public static TemplateLayer ReadFromEmbeddedResource() + public static TemplateLayer ReadFromEmbeddedResource(string templatePath) { try { - var defaultTemplateResourceName = $"{typeof(Constants).Namespace}.{Constants.DefaultTemplatePath}"; + var defaultTemplateResourceName = $"{typeof(Constants).Namespace}.{templatePath}"; using Stream resourceStream = Assembly.GetExecutingAssembly().GetManifestResourceStream(defaultTemplateResourceName); return ReadFromStream(resourceStream); } diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/TemplateLayerParser.cs b/src/Microsoft.Health.Fhir.TemplateManagement/TemplateLayerParser.cs index 6e3c4dc17..d5226f699 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/TemplateLayerParser.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/TemplateLayerParser.cs @@ -37,7 +37,7 @@ public static Dictionary ParseToTemplates(Dictionary item.Key, item => item.Value == null ? null : GetContentWithoutBOM(item.Value)); - var parsedTemplate = TemplateUtility.ParseHl7v2Templates(fileContent); + var parsedTemplate = TemplateUtility.ParseTemplates(fileContent); return parsedTemplate; } catch (Exception ex) From 0294ab39ace6cb1b6c95df48cfcaf539c5a32b3c Mon Sep 17 00:00:00 2001 From: hongyh13 Date: Thu, 18 Mar 2021 14:32:55 +0800 Subject: [PATCH 3/4] change name to ccda (#218) * change name to ccda * change section filter name * change the suffix of data file from cda to ccda * update version to 3.5 * undo version upgreade, a new pr will do it --- .gitattributes | 2 +- README.md | 2 +- .../170.314B2_Amb_CCD.ccda} | 0 .../C-CDA_R2-1_CCD.xml.ccda} | 0 ...CD-Parent-Document-Replace-C-CDAR2.1.ccda} | 0 .../SampleData/{Cda/CCD.cda => Ccda/CCD.ccda} | 0 .../CDA_with_Embedded_PDF.ccda} | 0 .../Care_Plan.cda => Ccda/Care_Plan.ccda} | 0 ...-Document-Closing-Referral-C-CDAR2.1.ccda} | 0 .../Consultation_Note.ccda} | 0 .../Diagnostic_Imaging_Report.ccda} | 0 .../Discharge_Summary.ccda} | 0 .../History_and_Physical.ccda} | 0 .../Operative_Note.ccda} | 0 ...ROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.ccda} | 0 .../Patient-1.cda => Ccda/Patient-1.ccda} | 0 ...rganization-Direct-Address-C-CDAR2.1.ccda} | 0 .../Procedure_Note.ccda} | 0 .../Progress_Note.ccda} | 0 .../Referral_Note.ccda} | 0 .../Transfer_Summary.ccda} | 0 .../Unstructured_Document_embed.ccda} | 0 .../Unstructured_Document_reference.ccda} | 0 .../{Cda/sample.cda => Ccda/sample.ccda} | 0 data/Templates/{Cda => Ccda}/CCD.liquid | 0 .../{Cda => Ccda}/DataType/_Address.liquid | 0 .../DataType/_CodeableConcept.liquid | 0 .../{Cda => Ccda}/DataType/_Coding.liquid | 0 .../DataType/_ContactPoint.liquid | 0 .../{Cda => Ccda}/DataType/_HumanName.liquid | 0 .../{Cda => Ccda}/DataType/_Identifier.liquid | 0 .../{Cda => Ccda}/DataType/_Period.liquid | 0 .../Entry/Medication/_entry.liquid | 0 ...nceAdministration_entryRelationship.liquid | 0 .../{Cda => Ccda}/Entry/Problem/_entry.liquid | 0 .../_entry_act_entryRelationship.liquid | 0 .../{Cda => Ccda}/Entry/Results/_entry.liquid | 0 .../Results/_entry_organizer_component.liquid | 0 .../Entry/SocialHistory/_entry.liquid | 0 .../Entry/VitalSigns/_entry.liquid | 0 .../_entry_organizer_component.liquid | 0 .../{Cda => Ccda}/Extension/_Ethnicity.liquid | 0 .../{Cda => Ccda}/Extension/_Race.liquid | 0 data/Templates/{Cda => Ccda}/Header.liquid | 0 .../Account/_Coverage_Coverage.liquid | 0 .../Reference/Account/_Guarantor_Party.liquid | 0 .../Reference/Account/_Owner.liquid | 0 .../Reference/Account/_PartOf.liquid | 0 .../Reference/Account/_Subject.liquid | 0 .../ActivityDefinition/_Location.liquid | 0 .../_ObservationRequirement.liquid | 0 .../_ObservationResultRequirement.liquid | 0 .../_ProductReference.liquid | 0 .../_SpecimenRequirement.liquid | 0 .../_SubjectReference.liquid | 0 .../AdverseEvent/_Contributor.liquid | 0 .../Reference/AdverseEvent/_Encounter.liquid | 0 .../Reference/AdverseEvent/_Location.liquid | 0 .../Reference/AdverseEvent/_Recorder.liquid | 0 .../AdverseEvent/_ReferenceDocument.liquid | 0 .../AdverseEvent/_ResultingCondition.liquid | 0 .../Reference/AdverseEvent/_Study.liquid | 0 .../Reference/AdverseEvent/_Subject.liquid | 0 .../_SubjectMedicalHistory.liquid | 0 .../_SuspectEntity_Instance.liquid | 0 .../AllergyIntolerance/_Asserter.liquid | 0 .../AllergyIntolerance/_Encounter.liquid | 0 .../AllergyIntolerance/_Patient.liquid | 0 .../AllergyIntolerance/_Recorder.liquid | 0 .../Reference/Appointment/_BasedOn.liquid | 0 .../Appointment/_Participant_Actor.liquid | 0 .../Appointment/_ReasonReference.liquid | 0 .../Reference/Appointment/_Slot.liquid | 0 .../Appointment/_SupportingInformation.liquid | 0 .../AppointmentResponse/_Actor.liquid | 0 .../AppointmentResponse/_Appointment.liquid | 0 .../AuditEvent/_Agent_Location.liquid | 0 .../Reference/AuditEvent/_Agent_Who.liquid | 0 .../Reference/AuditEvent/_Entity_What.liquid | 0 .../AuditEvent/_Source_Observer.liquid | 0 .../Reference/Basic/_Author.liquid | 0 .../Reference/Basic/_Subject.liquid | 0 .../Reference/Binary/_SecurityContext.liquid | 0 .../_Collection_Collector.liquid | 0 .../_Collection_Source.liquid | 0 .../BiologicallyDerivedProduct/_Parent.liquid | 0 .../_Processing_Additive.liquid | 0 .../_Request.liquid | 0 .../Reference/BodyStructure/_Patient.liquid | 0 .../_Implementation_Custodian.liquid | 0 .../_Activity_OutcomeReference.liquid | 0 .../CarePlan/_Activity_Reference.liquid | 0 .../Reference/CarePlan/_Addresses.liquid | 0 .../Reference/CarePlan/_Author.liquid | 0 .../Reference/CarePlan/_BasedOn.liquid | 0 .../Reference/CarePlan/_CareTeam.liquid | 0 .../Reference/CarePlan/_Contributor.liquid | 0 .../Reference/CarePlan/_Encounter.liquid | 0 .../Reference/CarePlan/_Goal.liquid | 0 .../Reference/CarePlan/_PartOf.liquid | 0 .../Reference/CarePlan/_Replaces.liquid | 0 .../Reference/CarePlan/_Subject.liquid | 0 .../Reference/CarePlan/_SupportingInfo.liquid | 0 .../Reference/CareTeam/_Encounter.liquid | 0 .../CareTeam/_ManagingOrganization.liquid | 0 .../CareTeam/_Participant_Member.liquid | 0 .../CareTeam/_Participant_OnBehalfOf.liquid | 0 .../CareTeam/_ReasonReference.liquid | 0 .../Reference/CareTeam/_Subject.liquid | 0 .../CatalogEntry/_ReferencedItem.liquid | 0 .../CatalogEntry/_RelatedEntry_Item.liquid | 0 .../Reference/ChargeItem/_Account.liquid | 0 .../Reference/ChargeItem/_Context.liquid | 0 .../Reference/ChargeItem/_CostCenter.liquid | 0 .../Reference/ChargeItem/_Enterer.liquid | 0 .../Reference/ChargeItem/_PartOf.liquid | 0 .../ChargeItem/_Performer_Actor.liquid | 0 .../ChargeItem/_PerformingOrganization.liquid | 0 .../ChargeItem/_ProductReference.liquid | 0 .../ChargeItem/_RequestingOrganization.liquid | 0 .../Reference/ChargeItem/_Service.liquid | 0 .../Reference/ChargeItem/_Subject.liquid | 0 .../ChargeItem/_SupportingInformation.liquid | 0 .../ChargeItemDefinition/_Instance.liquid | 0 .../Claim/_Accident_LocationReference.liquid | 0 .../Reference/Claim/_CareTeam_Provider.liquid | 0 .../_Diagnosis_DiagnosisReference.liquid | 0 .../Reference/Claim/_Enterer.liquid | 0 .../Reference/Claim/_Facility.liquid | 0 .../Claim/_Insurance_ClaimResponse.liquid | 0 .../Claim/_Insurance_Coverage.liquid | 0 .../Reference/Claim/_Insurer.liquid | 0 .../Reference/Claim/_Item_Encounter.liquid | 0 .../Claim/_Item_LocationReference.liquid | 0 .../Reference/Claim/_Item_Udi.liquid | 0 .../Claim/_OriginalPrescription.liquid | 0 .../Reference/Claim/_Patient.liquid | 0 .../Reference/Claim/_Payee_Party.liquid | 0 .../Reference/Claim/_Prescription.liquid | 0 .../_Procedure_ProcedureReference.liquid | 0 .../Reference/Claim/_Procedure_Udi.liquid | 0 .../Reference/Claim/_Provider.liquid | 0 .../Reference/Claim/_Referral.liquid | 0 .../Reference/Claim/_Related_Claim.liquid | 0 .../_SupportingInfo_ValueReference.liquid | 0 .../_AddItem_LocationReference.liquid | 0 .../ClaimResponse/_AddItem_Provider.liquid | 0 .../_CommunicationRequest.liquid | 0 .../_Insurance_ClaimResponse.liquid | 0 .../ClaimResponse/_Insurance_Coverage.liquid | 0 .../Reference/ClaimResponse/_Insurer.liquid | 0 .../Reference/ClaimResponse/_Patient.liquid | 0 .../Reference/ClaimResponse/_Request.liquid | 0 .../Reference/ClaimResponse/_Requestor.liquid | 0 .../ClinicalImpression/_Assessor.liquid | 0 .../ClinicalImpression/_Encounter.liquid | 0 .../_Finding_ItemReference.liquid | 0 .../_Investigation_Item.liquid | 0 .../ClinicalImpression/_Previous.liquid | 0 .../ClinicalImpression/_Problem.liquid | 0 .../_PrognosisReference.liquid | 0 .../ClinicalImpression/_Subject.liquid | 0 .../ClinicalImpression/_SupportingInfo.liquid | 0 .../Reference/Communication/_About.liquid | 0 .../Reference/Communication/_BasedOn.liquid | 0 .../Reference/Communication/_Encounter.liquid | 0 .../Communication/_InResponseTo.liquid | 0 .../Reference/Communication/_PartOf.liquid | 0 .../_Payload_ContentReference.liquid | 0 .../Communication/_ReasonReference.liquid | 0 .../Reference/Communication/_Recipient.liquid | 0 .../Reference/Communication/_Sender.liquid | 0 .../Reference/Communication/_Subject.liquid | 0 .../CommunicationRequest/_About.liquid | 0 .../CommunicationRequest/_BasedOn.liquid | 0 .../CommunicationRequest/_Encounter.liquid | 0 .../_Payload_ContentReference.liquid | 0 .../_ReasonReference.liquid | 0 .../CommunicationRequest/_Recipient.liquid | 0 .../CommunicationRequest/_Replaces.liquid | 0 .../CommunicationRequest/_Requester.liquid | 0 .../CommunicationRequest/_Sender.liquid | 0 .../CommunicationRequest/_Subject.liquid | 0 .../Composition/_Attester_Party.liquid | 0 .../Reference/Composition/_Author.liquid | 0 .../Reference/Composition/_Custodian.liquid | 0 .../Reference/Composition/_Encounter.liquid | 0 .../Composition/_Event_Detail.liquid | 0 .../_RelatesTo_TargetReference.liquid | 0 .../Composition/_Section_Author.liquid | 0 .../Composition/_Section_Entry.liquid | 0 .../Composition/_Section_Focus.liquid | 0 .../Reference/Composition/_Subject.liquid | 0 .../Reference/Condition/_Asserter.liquid | 0 .../Reference/Condition/_Encounter.liquid | 0 .../Condition/_Evidence_Detail.liquid | 0 .../Reference/Condition/_Recorder.liquid | 0 .../Condition/_Stage_Assessment.liquid | 0 .../Reference/Condition/_Subject.liquid | 0 .../Reference/Consent/_Organization.liquid | 0 .../Reference/Consent/_Patient.liquid | 0 .../Reference/Consent/_Performer.liquid | 0 .../Reference/Consent/_SourceReference.liquid | 0 .../Consent/_Verification_VerifiedWith.liquid | 0 .../Reference/Contract/_Author.liquid | 0 .../Reference/Contract/_Authority.liquid | 0 .../_ContentDefinition_Publisher.liquid | 0 .../Reference/Contract/_Domain.liquid | 0 .../_Friendly_ContentReference.liquid | 0 .../Contract/_InstantiatesCanonical.liquid | 0 .../Contract/_Legal_ContentReference.liquid | 0 .../Contract/_LegallyBindingReference.liquid | 0 .../Contract/_RelevantHistory.liquid | 0 .../Contract/_Rule_ContentReference.liquid | 0 .../Reference/Contract/_Signer_Party.liquid | 0 .../Reference/Contract/_Site.liquid | 0 .../Reference/Contract/_Subject.liquid | 0 .../Reference/Contract/_SupportingInfo.liquid | 0 .../Contract/_Term_TopicReference.liquid | 0 .../Reference/Contract/_TopicReference.liquid | 0 .../Reference/Coverage/_Beneficiary.liquid | 0 .../Reference/Coverage/_Contract.liquid | 0 .../Reference/Coverage/_Payor.liquid | 0 .../Reference/Coverage/_PolicyHolder.liquid | 0 .../Reference/Coverage/_Subscriber.liquid | 0 .../_Enterer.liquid | 0 .../_Facility.liquid | 0 .../_Insurance_Coverage.liquid | 0 .../_Insurer.liquid | 0 .../_Item_Detail.liquid | 0 .../_Item_Facility.liquid | 0 .../_Item_Provider.liquid | 0 .../_Patient.liquid | 0 .../_Provider.liquid | 0 .../_SupportingInfo_Information.liquid | 0 .../_Insurance_Coverage.liquid | 0 .../_Insurer.liquid | 0 .../_Patient.liquid | 0 .../_Request.liquid | 0 .../_Requestor.liquid | 0 .../Reference/DetectedIssue/_Author.liquid | 0 .../DetectedIssue/_Evidence_Detail.liquid | 0 .../DetectedIssue/_Implicated.liquid | 0 .../DetectedIssue/_Mitigation_Author.liquid | 0 .../Reference/DetectedIssue/_Patient.liquid | 0 .../Reference/Device/_Definition.liquid | 0 .../Reference/Device/_Location.liquid | 0 .../Reference/Device/_Owner.liquid | 0 .../Reference/Device/_Parent.liquid | 0 .../Reference/Device/_Patient.liquid | 0 .../_ManufacturerReference.liquid | 0 .../Reference/DeviceDefinition/_Owner.liquid | 0 .../DeviceDefinition/_ParentDevice.liquid | 0 .../Reference/DeviceMetric/_Parent.liquid | 0 .../Reference/DeviceMetric/_Source.liquid | 0 .../Reference/DeviceRequest/_BasedOn.liquid | 0 .../DeviceRequest/_CodeReference.liquid | 0 .../Reference/DeviceRequest/_Encounter.liquid | 0 .../Reference/DeviceRequest/_Insurance.liquid | 0 .../Reference/DeviceRequest/_Performer.liquid | 0 .../DeviceRequest/_PriorRequest.liquid | 0 .../DeviceRequest/_ReasonReference.liquid | 0 .../DeviceRequest/_RelevantHistory.liquid | 0 .../Reference/DeviceRequest/_Requester.liquid | 0 .../Reference/DeviceRequest/_Subject.liquid | 0 .../DeviceRequest/_SupportingInfo.liquid | 0 .../DeviceUseStatement/_BasedOn.liquid | 0 .../DeviceUseStatement/_DerivedFrom.liquid | 0 .../DeviceUseStatement/_Device.liquid | 0 .../_ReasonReference.liquid | 0 .../DeviceUseStatement/_Source.liquid | 0 .../DeviceUseStatement/_Subject.liquid | 0 .../DiagnosticReport/_BasedOn.liquid | 0 .../DiagnosticReport/_Encounter.liquid | 0 .../DiagnosticReport/_ImagingStudy.liquid | 0 .../DiagnosticReport/_Media_Link.liquid | 0 .../DiagnosticReport/_Performer.liquid | 0 .../Reference/DiagnosticReport/_Result.liquid | 0 .../_ResultsInterpreter.liquid | 0 .../DiagnosticReport/_Specimen.liquid | 0 .../DiagnosticReport/_Subject.liquid | 0 .../Reference/DocumentManifest/_Author.liquid | 0 .../DocumentManifest/_Content.liquid | 0 .../DocumentManifest/_Recipient.liquid | 0 .../DocumentManifest/_Related_Ref.liquid | 0 .../DocumentManifest/_Subject.liquid | 0 .../DocumentReference/_Authenticator.liquid | 0 .../DocumentReference/_Author.liquid | 0 .../_Context_Encounter.liquid | 0 .../DocumentReference/_Context_Related.liquid | 0 .../_Context_SourcePatientInfo.liquid | 0 .../DocumentReference/_Custodian.liquid | 0 .../_RelatesTo_Target.liquid | 0 .../DocumentReference/_Subject.liquid | 0 .../EffectEvidenceSynthesis/_Exposure.liquid | 0 .../_ExposureAlternative.liquid | 0 .../EffectEvidenceSynthesis/_Outcome.liquid | 0 .../_Population.liquid | 0 ...ltsByExposure_RiskEvidenceSynthesis.liquid | 0 .../Reference/Encounter/_Account.liquid | 0 .../Reference/Encounter/_Appointment.liquid | 0 .../Reference/Encounter/_BasedOn.liquid | 0 .../Encounter/_Diagnosis_Condition.liquid | 0 .../Reference/Encounter/_EpisodeOfCare.liquid | 0 .../_Hospitalization_Destination.liquid | 0 .../Encounter/_Hospitalization_Origin.liquid | 0 .../Encounter/_Location_Location.liquid | 0 .../Reference/Encounter/_PartOf.liquid | 0 .../Encounter/_Participant_Individual.liquid | 0 .../Encounter/_ReasonReference.liquid | 0 .../Encounter/_ServiceProvider.liquid | 0 .../Reference/Encounter/_Subject.liquid | 0 .../Endpoint/_ManagingOrganization.liquid | 0 .../EnrollmentRequest/_Candidate.liquid | 0 .../EnrollmentRequest/_Coverage.liquid | 0 .../EnrollmentRequest/_Insurer.liquid | 0 .../EnrollmentRequest/_Provider.liquid | 0 .../EnrollmentResponse/_Organization.liquid | 0 .../EnrollmentResponse/_Request.liquid | 0 .../_RequestProvider.liquid | 0 .../Reference/EpisodeOfCare/_Account.liquid | 0 .../EpisodeOfCare/_CareManager.liquid | 0 .../EpisodeOfCare/_Diagnosis_Condition.liquid | 0 .../_ManagingOrganization.liquid | 0 .../Reference/EpisodeOfCare/_Patient.liquid | 0 .../EpisodeOfCare/_ReferralRequest.liquid | 0 .../Reference/EpisodeOfCare/_Team.liquid | 0 .../EventDefinition/_SubjectReference.liquid | 0 .../Evidence/_ExposureBackground.liquid | 0 .../Evidence/_ExposureVariant.liquid | 0 .../Reference/Evidence/_Outcome.liquid | 0 ..._Characteristic_DefinitionReference.liquid | 0 .../_Accident_LocationReference.liquid | 0 .../_AddItem_LocationReference.liquid | 0 .../_AddItem_Provider.liquid | 0 .../_CareTeam_Provider.liquid | 0 .../ExplanationOfBenefit/_Claim.liquid | 0 .../_ClaimResponse.liquid | 0 .../_Diagnosis_DiagnosisReference.liquid | 0 .../ExplanationOfBenefit/_Enterer.liquid | 0 .../ExplanationOfBenefit/_Facility.liquid | 0 .../_Insurance_Coverage.liquid | 0 .../ExplanationOfBenefit/_Insurer.liquid | 0 .../_Item_Encounter.liquid | 0 .../_Item_LocationReference.liquid | 0 .../ExplanationOfBenefit/_Item_Udi.liquid | 0 .../_OriginalPrescription.liquid | 0 .../ExplanationOfBenefit/_Patient.liquid | 0 .../ExplanationOfBenefit/_Payee_Party.liquid | 0 .../ExplanationOfBenefit/_Prescription.liquid | 0 .../_Procedure_ProcedureReference.liquid | 0 .../_Procedure_Udi.liquid | 0 .../ExplanationOfBenefit/_Provider.liquid | 0 .../ExplanationOfBenefit/_Referral.liquid | 0 .../_Related_Claim.liquid | 0 .../_SupportingInfo_ValueReference.liquid | 0 .../FamilyMemberHistory/_Patient.liquid | 0 .../_ReasonReference.liquid | 0 .../Reference/Flag/_Author.liquid | 0 .../Reference/Flag/_Encounter.liquid | 0 .../Reference/Flag/_Subject.liquid | 0 .../Reference/Goal/_Addresses.liquid | 0 .../Reference/Goal/_ExpressedBy.liquid | 0 .../Reference/Goal/_OutcomeReference.liquid | 0 .../Reference/Goal/_Subject.liquid | 0 .../_Characteristic_ValueReference.liquid | 0 .../Reference/Group/_ManagingEntity.liquid | 0 .../Reference/Group/_Member_Entity.liquid | 0 .../GuidanceResponse/_Encounter.liquid | 0 .../_EvaluationMessage.liquid | 0 .../GuidanceResponse/_OutputParameters.liquid | 0 .../GuidanceResponse/_Performer.liquid | 0 .../GuidanceResponse/_ReasonReference.liquid | 0 .../Reference/GuidanceResponse/_Result.liquid | 0 .../GuidanceResponse/_Subject.liquid | 0 .../HealthcareService/_CoverageArea.liquid | 0 .../HealthcareService/_Endpoint.liquid | 0 .../HealthcareService/_Location.liquid | 0 .../HealthcareService/_ProvidedBy.liquid | 0 .../Reference/ImagingStudy/_BasedOn.liquid | 0 .../Reference/ImagingStudy/_Encounter.liquid | 0 .../Reference/ImagingStudy/_Endpoint.liquid | 0 .../ImagingStudy/_Interpreter.liquid | 0 .../Reference/ImagingStudy/_Location.liquid | 0 .../ImagingStudy/_ProcedureReference.liquid | 0 .../ImagingStudy/_ReasonReference.liquid | 0 .../Reference/ImagingStudy/_Referrer.liquid | 0 .../ImagingStudy/_Series_Endpoint.liquid | 0 .../ImagingStudy/_Series_Specimen.liquid | 0 .../Reference/ImagingStudy/_Subject.liquid | 0 .../Reference/Immunization/_Encounter.liquid | 0 .../Reference/Immunization/_Location.liquid | 0 .../Immunization/_Manufacturer.liquid | 0 .../Reference/Immunization/_Patient.liquid | 0 .../Immunization/_Performer_Actor.liquid | 0 .../_ProtocolApplied_Authority.liquid | 0 .../Immunization/_Reaction_Detail.liquid | 0 .../Immunization/_ReasonReference.liquid | 0 .../ImmunizationEvaluation/_Authority.liquid | 0 .../_ImmunizationEvent.liquid | 0 .../ImmunizationEvaluation/_Patient.liquid | 0 .../_Authority.liquid | 0 .../_Patient.liquid | 0 ...commendation_SupportingImmunization.liquid | 0 ...dation_SupportingPatientInformation.liquid | 0 .../InsurancePlan/_AdministeredBy.liquid | 0 .../InsurancePlan/_CoverageArea.liquid | 0 .../InsurancePlan/_Coverage_Network.liquid | 0 .../Reference/InsurancePlan/_Endpoint.liquid | 0 .../Reference/InsurancePlan/_Network.liquid | 0 .../Reference/InsurancePlan/_OwnedBy.liquid | 0 .../InsurancePlan/_Plan_CoverageArea.liquid | 0 .../InsurancePlan/_Plan_Network.liquid | 0 .../Reference/Invoice/_Account.liquid | 0 .../Reference/Invoice/_Issuer.liquid | 0 .../_LineItem_ChargeItemReference.liquid | 0 .../Invoice/_Participant_Actor.liquid | 0 .../Reference/Invoice/_Recipient.liquid | 0 .../Reference/Invoice/_Subject.liquid | 0 .../Library/_SubjectReference.liquid | 0 .../Reference/Linkage/_Author.liquid | 0 .../Reference/Linkage/_Item_Resource.liquid | 0 .../Reference/List/_Encounter.liquid | 0 .../Reference/List/_Entry_Item.liquid | 0 .../Reference/List/_Source.liquid | 0 .../Reference/List/_Subject.liquid | 0 .../Reference/Location/_Endpoint.liquid | 0 .../Location/_ManagingOrganization.liquid | 0 .../Reference/Location/_PartOf.liquid | 0 .../Measure/_SubjectReference.liquid | 0 .../MeasureReport/_EvaluatedResource.liquid | 0 .../Reference/MeasureReport/_Reporter.liquid | 0 .../Reference/MeasureReport/_Subject.liquid | 0 .../Reference/Media/_BasedOn.liquid | 0 .../Reference/Media/_Device.liquid | 0 .../Reference/Media/_Encounter.liquid | 0 .../Reference/Media/_Operator.liquid | 0 .../Reference/Media/_PartOf.liquid | 0 .../Reference/Media/_Subject.liquid | 0 .../_Ingredient_ItemReference.liquid | 0 .../Reference/Medication/_Manufacturer.liquid | 0 .../MedicationAdministration/_Context.liquid | 0 .../MedicationAdministration/_Device.liquid | 0 .../_EventHistory.liquid | 0 .../_MedicationReference.liquid | 0 .../MedicationAdministration/_PartOf.liquid | 0 .../_Performer_Actor.liquid | 0 .../_ReasonReference.liquid | 0 .../MedicationAdministration/_Request.liquid | 0 .../MedicationAdministration/_Subject.liquid | 0 .../_SupportingInformation.liquid | 0 .../_AuthorizingPrescription.liquid | 0 .../MedicationDispense/_Context.liquid | 0 .../MedicationDispense/_Destination.liquid | 0 .../MedicationDispense/_DetectedIssue.liquid | 0 .../MedicationDispense/_EventHistory.liquid | 0 .../MedicationDispense/_Location.liquid | 0 .../_MedicationReference.liquid | 0 .../MedicationDispense/_PartOf.liquid | 0 .../_Performer_Actor.liquid | 0 .../MedicationDispense/_Receiver.liquid | 0 .../_StatusReasonReference.liquid | 0 .../MedicationDispense/_Subject.liquid | 0 .../_Substitution_ResponsibleParty.liquid | 0 .../_SupportingInformation.liquid | 0 ...ationGuidelines_IndicationReference.liquid | 0 .../_AssociatedMedication.liquid | 0 .../_Contraindication.liquid | 0 .../_Ingredient_ItemReference.liquid | 0 .../MedicationKnowledge/_Manufacturer.liquid | 0 .../_Monograph_Source.liquid | 0 .../_Regulatory_RegulatoryAuthority.liquid | 0 ...elatedMedicationKnowledge_Reference.liquid | 0 .../MedicationRequest/_BasedOn.liquid | 0 .../MedicationRequest/_DetectedIssue.liquid | 0 .../_DispenseRequest_Performer.liquid | 0 .../MedicationRequest/_Encounter.liquid | 0 .../MedicationRequest/_EventHistory.liquid | 0 .../MedicationRequest/_Insurance.liquid | 0 .../_MedicationReference.liquid | 0 .../MedicationRequest/_Performer.liquid | 0 .../_PriorPrescription.liquid | 0 .../MedicationRequest/_ReasonReference.liquid | 0 .../MedicationRequest/_Recorder.liquid | 0 .../_ReportedReference.liquid | 0 .../MedicationRequest/_Requester.liquid | 0 .../MedicationRequest/_Subject.liquid | 0 .../_SupportingInformation.liquid | 0 .../MedicationStatement/_BasedOn.liquid | 0 .../MedicationStatement/_Context.liquid | 0 .../MedicationStatement/_DerivedFrom.liquid | 0 .../_InformationSource.liquid | 0 .../_MedicationReference.liquid | 0 .../MedicationStatement/_PartOf.liquid | 0 .../_ReasonReference.liquid | 0 .../MedicationStatement/_Subject.liquid | 0 .../MedicinalProduct/_AttachedDocument.liquid | 0 .../MedicinalProduct/_ClinicalTrial.liquid | 0 .../MedicinalProduct/_Contact.liquid | 0 ...uringBusinessOperation_Manufacturer.liquid | 0 ...acturingBusinessOperation_Regulator.liquid | 0 .../MedicinalProduct/_MasterFile.liquid | 0 .../_PackagedMedicinalProduct.liquid | 0 .../_PharmaceuticalProduct.liquid | 0 ...cialDesignation_IndicationReference.liquid | 0 .../_Holder.liquid | 0 .../_Regulator.liquid | 0 .../_Subject.liquid | 0 .../_OtherTherapy_MedicationReference.liquid | 0 .../_Subject.liquid | 0 .../_TherapeuticIndication.liquid | 0 .../_OtherTherapy_MedicationReference.liquid | 0 .../_Subject.liquid | 0 .../_UndesirableEffect.liquid | 0 .../_Manufacturer.liquid | 0 .../_Interactant_ItemReference.liquid | 0 .../_Subject.liquid | 0 .../_Ingredient.liquid | 0 .../_Manufacturer.liquid | 0 .../_Manufacturer.liquid | 0 .../_MarketingAuthorization.liquid | 0 .../_PackageItem_Device.liquid | 0 .../_PackageItem_ManufacturedItem.liquid | 0 .../_PackageItem_Manufacturer.liquid | 0 .../MedicinalProductPackaged/_Subject.liquid | 0 .../_Device.liquid | 0 .../_Ingredient.liquid | 0 .../_Subject.liquid | 0 .../Reference/MessageHeader/_Author.liquid | 0 .../_Destination_Receiver.liquid | 0 .../MessageHeader/_Destination_Target.liquid | 0 .../Reference/MessageHeader/_Enterer.liquid | 0 .../Reference/MessageHeader/_Focus.liquid | 0 .../MessageHeader/_Response_Details.liquid | 0 .../MessageHeader/_Responsible.liquid | 0 .../Reference/MessageHeader/_Sender.liquid | 0 .../MolecularSequence/_Device.liquid | 0 .../MolecularSequence/_Patient.liquid | 0 .../MolecularSequence/_Performer.liquid | 0 .../MolecularSequence/_Pointer.liquid | 0 .../_ReferenceSeq_ReferenceSeqPointer.liquid | 0 .../MolecularSequence/_Specimen.liquid | 0 .../_Variant_VariantPointer.liquid | 0 .../NutritionOrder/_AllergyIntolerance.liquid | 0 .../NutritionOrder/_Encounter.liquid | 0 .../Reference/NutritionOrder/_Orderer.liquid | 0 .../Reference/NutritionOrder/_Patient.liquid | 0 .../Reference/Observation/_BasedOn.liquid | 0 .../Reference/Observation/_DerivedFrom.liquid | 0 .../Reference/Observation/_Device.liquid | 0 .../Reference/Observation/_Encounter.liquid | 0 .../Reference/Observation/_Focus.liquid | 0 .../Reference/Observation/_HasMember.liquid | 0 .../Reference/Observation/_PartOf.liquid | 0 .../Reference/Observation/_Performer.liquid | 0 .../Reference/Observation/_Specimen.liquid | 0 .../Reference/Observation/_Subject.liquid | 0 .../_AbnormalCodedValueSet.liquid | 0 .../_CriticalCodedValueSet.liquid | 0 .../_NormalCodedValueSet.liquid | 0 .../_ValidCodedValueSet.liquid | 0 .../Reference/Organization/_Endpoint.liquid | 0 .../Reference/Organization/_PartOf.liquid | 0 .../OrganizationAffiliation/_Endpoint.liquid | 0 .../_HealthcareService.liquid | 0 .../OrganizationAffiliation/_Location.liquid | 0 .../OrganizationAffiliation/_Network.liquid | 0 .../_Organization.liquid | 0 .../_ParticipatingOrganization.liquid | 0 .../_Parameter_ValueReference.liquid | 0 .../Patient/_Contact_Organization.liquid | 0 .../Patient/_GeneralPractitioner.liquid | 0 .../Reference/Patient/_Link_Other.liquid | 0 .../Patient/_ManagingOrganization.liquid | 0 .../Reference/PaymentNotice/_Payee.liquid | 0 .../Reference/PaymentNotice/_Payment.liquid | 0 .../Reference/PaymentNotice/_Provider.liquid | 0 .../Reference/PaymentNotice/_Recipient.liquid | 0 .../Reference/PaymentNotice/_Request.liquid | 0 .../Reference/PaymentNotice/_Response.liquid | 0 .../_Detail_Payee.liquid | 0 .../_Detail_Request.liquid | 0 .../_Detail_Response.liquid | 0 .../_Detail_Responsible.liquid | 0 .../_Detail_Submitter.liquid | 0 .../_PaymentIssuer.liquid | 0 .../PaymentReconciliation/_Request.liquid | 0 .../PaymentReconciliation/_Requestor.liquid | 0 .../Reference/Person/_Link_Target.liquid | 0 .../Person/_ManagingOrganization.liquid | 0 .../_Action_SubjectReference.liquid | 0 .../PlanDefinition/_SubjectReference.liquid | 0 .../Practitioner/_Qualification_Issuer.liquid | 0 .../PractitionerRole/_Endpoint.liquid | 0 .../_HealthcareService.liquid | 0 .../PractitionerRole/_Location.liquid | 0 .../PractitionerRole/_Organization.liquid | 0 .../PractitionerRole/_Practitioner.liquid | 0 .../Reference/Procedure/_Asserter.liquid | 0 .../Reference/Procedure/_BasedOn.liquid | 0 .../Procedure/_ComplicationDetail.liquid | 0 .../Reference/Procedure/_Encounter.liquid | 0 .../Procedure/_FocalDevice_Manipulated.liquid | 0 .../Reference/Procedure/_Location.liquid | 0 .../Reference/Procedure/_PartOf.liquid | 0 .../Procedure/_Performer_Actor.liquid | 0 .../Procedure/_Performer_OnBehalfOf.liquid | 0 .../Procedure/_ReasonReference.liquid | 0 .../Reference/Procedure/_Recorder.liquid | 0 .../Reference/Procedure/_Report.liquid | 0 .../Reference/Procedure/_Subject.liquid | 0 .../Reference/Procedure/_UsedReference.liquid | 0 .../Provenance/_Agent_OnBehalfOf.liquid | 0 .../Reference/Provenance/_Agent_Who.liquid | 0 .../Reference/Provenance/_Entity_What.liquid | 0 .../Reference/Provenance/_Location.liquid | 0 .../Reference/Provenance/_Target.liquid | 0 .../QuestionnaireResponse/_Author.liquid | 0 .../QuestionnaireResponse/_BasedOn.liquid | 0 .../QuestionnaireResponse/_Encounter.liquid | 0 .../QuestionnaireResponse/_PartOf.liquid | 0 .../QuestionnaireResponse/_Source.liquid | 0 .../QuestionnaireResponse/_Subject.liquid | 0 .../Reference/RelatedPerson/_Patient.liquid | 0 .../RequestGroup/_Action_Participant.liquid | 0 .../RequestGroup/_Action_Resource.liquid | 0 .../Reference/RequestGroup/_Author.liquid | 0 .../Reference/RequestGroup/_BasedOn.liquid | 0 .../Reference/RequestGroup/_Encounter.liquid | 0 .../RequestGroup/_ReasonReference.liquid | 0 .../Reference/RequestGroup/_Replaces.liquid | 0 .../Reference/RequestGroup/_Subject.liquid | 0 .../ResearchDefinition/_Exposure.liquid | 0 .../_ExposureAlternative.liquid | 0 .../ResearchDefinition/_Outcome.liquid | 0 .../ResearchDefinition/_Population.liquid | 0 .../_SubjectReference.liquid | 0 .../_SubjectReference.liquid | 0 .../ResearchStudy/_Enrollment.liquid | 0 .../Reference/ResearchStudy/_PartOf.liquid | 0 .../_PrincipalInvestigator.liquid | 0 .../Reference/ResearchStudy/_Protocol.liquid | 0 .../Reference/ResearchStudy/_Site.liquid | 0 .../Reference/ResearchStudy/_Sponsor.liquid | 0 .../Reference/ResearchSubject/_Consent.liquid | 0 .../ResearchSubject/_Individual.liquid | 0 .../Reference/ResearchSubject/_Study.liquid | 0 .../Reference/RiskAssessment/_BasedOn.liquid | 0 .../Reference/RiskAssessment/_Basis.liquid | 0 .../RiskAssessment/_Condition.liquid | 0 .../RiskAssessment/_Encounter.liquid | 0 .../Reference/RiskAssessment/_Parent.liquid | 0 .../RiskAssessment/_Performer.liquid | 0 .../RiskAssessment/_ReasonReference.liquid | 0 .../Reference/RiskAssessment/_Subject.liquid | 0 .../RiskEvidenceSynthesis/_Exposure.liquid | 0 .../RiskEvidenceSynthesis/_Outcome.liquid | 0 .../RiskEvidenceSynthesis/_Population.liquid | 0 .../Reference/Schedule/_Actor.liquid | 0 .../Reference/ServiceRequest/_BasedOn.liquid | 0 .../ServiceRequest/_Encounter.liquid | 0 .../ServiceRequest/_Insurance.liquid | 0 .../ServiceRequest/_LocationReference.liquid | 0 .../ServiceRequest/_Performer.liquid | 0 .../ServiceRequest/_ReasonReference.liquid | 0 .../ServiceRequest/_RelevantHistory.liquid | 0 .../Reference/ServiceRequest/_Replaces.liquid | 0 .../ServiceRequest/_Requester.liquid | 0 .../Reference/ServiceRequest/_Specimen.liquid | 0 .../Reference/ServiceRequest/_Subject.liquid | 0 .../ServiceRequest/_SupportingInfo.liquid | 0 .../Reference/Slot/_Schedule.liquid | 0 .../Specimen/_Collection_Collector.liquid | 0 .../_Container_AdditiveReference.liquid | 0 .../Reference/Specimen/_Parent.liquid | 0 .../Specimen/_Processing_Additive.liquid | 0 .../Reference/Specimen/_Request.liquid | 0 .../Reference/Specimen/_Subject.liquid | 0 .../_Ingredient_SubstanceReference.liquid | 0 .../_Classification_Source.liquid | 0 .../_GeneElement_Source.liquid | 0 .../_Gene_Source.liquid | 0 .../_Target_Source.liquid | 0 .../_Code_Source.liquid | 0 .../_Name_Source.liquid | 0 .../_NucleicAcid.liquid | 0 .../SubstanceSpecification/_Polymer.liquid | 0 ...Property_DefiningSubstanceReference.liquid | 0 .../SubstanceSpecification/_Protein.liquid | 0 .../_ReferenceInformation.liquid | 0 .../_Relationship_Source.liquid | 0 .../_Relationship_SubstanceReference.liquid | 0 .../SubstanceSpecification/_Source.liquid | 0 .../_SourceMaterial.liquid | 0 .../_Structure_Source.liquid | 0 .../Reference/SupplyDelivery/_BasedOn.liquid | 0 .../SupplyDelivery/_Destination.liquid | 0 .../Reference/SupplyDelivery/_PartOf.liquid | 0 .../Reference/SupplyDelivery/_Patient.liquid | 0 .../Reference/SupplyDelivery/_Receiver.liquid | 0 .../_SuppliedItem_ItemReference.liquid | 0 .../Reference/SupplyDelivery/_Supplier.liquid | 0 .../SupplyRequest/_DeliverFrom.liquid | 0 .../Reference/SupplyRequest/_DeliverTo.liquid | 0 .../SupplyRequest/_ItemReference.liquid | 0 .../SupplyRequest/_ReasonReference.liquid | 0 .../Reference/SupplyRequest/_Requester.liquid | 0 .../Reference/SupplyRequest/_Supplier.liquid | 0 .../Reference/Task/_BasedOn.liquid | 0 .../Reference/Task/_Encounter.liquid | 0 .../Reference/Task/_Focus.liquid | 0 .../{Cda => Ccda}/Reference/Task/_For.liquid | 0 .../Task/_Input_ValueReference.liquid | 0 .../Reference/Task/_Insurance.liquid | 0 .../Reference/Task/_Location.liquid | 0 .../Task/_Output_ValueReference.liquid | 0 .../Reference/Task/_Owner.liquid | 0 .../Reference/Task/_PartOf.liquid | 0 .../Reference/Task/_ReasonReference.liquid | 0 .../Reference/Task/_RelevantHistory.liquid | 0 .../Reference/Task/_Requester.liquid | 0 .../Task/_Restriction_Recipient.liquid | 0 .../Reference/TestReport/_TestScript.liquid | 0 .../TestScript/_Fixture_Resource.liquid | 0 .../Reference/TestScript/_Profile.liquid | 0 .../_Attestation_OnBehalfOf.liquid | 0 .../_Attestation_Who.liquid | 0 .../_PrimarySource_Who.liquid | 0 .../VerificationResult/_Target.liquid | 0 .../_Validator_Organization.liquid | 0 .../VisionPrescription/_Encounter.liquid | 0 .../VisionPrescription/_Patient.liquid | 0 .../VisionPrescription/_Prescriber.liquid | 0 .../Resource/_AllergyIntolerance.liquid | 0 .../Resource/_Communication.liquid | 0 .../Resource/_Composition.liquid | 0 .../{Cda => Ccda}/Resource/_Condition.liquid | 0 .../{Cda => Ccda}/Resource/_Consent.liquid | 0 .../{Cda => Ccda}/Resource/_Coverage.liquid | 0 .../{Cda => Ccda}/Resource/_Device.liquid | 0 .../Resource/_DiagnosticReport.liquid | 0 .../Resource/_DocumentReference.liquid | 0 .../{Cda => Ccda}/Resource/_Encounter.liquid | 0 .../{Cda => Ccda}/Resource/_Goal.liquid | 0 .../{Cda => Ccda}/Resource/_Location.liquid | 0 .../{Cda => Ccda}/Resource/_Medication.liquid | 0 .../Resource/_MedicationAdministration.liquid | 0 .../Resource/_MedicationDispense.liquid | 0 .../Resource/_MedicationRequest.liquid | 0 .../Resource/_MedicationStatement.liquid | 0 .../Resource/_Observation.liquid | 0 .../Resource/_Organization.liquid | 0 .../{Cda => Ccda}/Resource/_Patient.liquid | 0 .../Resource/_Practitioner.liquid | 0 .../{Cda => Ccda}/Resource/_Procedure.liquid | 0 .../Resource/_RelatedPerson.liquid | 0 .../Resource/_ServiceRequest.liquid | 0 .../_AllergiesAndAdverseReactions.liquid | 2 +- .../{Cda => Ccda}/Section/_Medication.liquid | 2 +- .../{Cda => Ccda}/Section/_Problem.liquid | 2 +- .../{Cda => Ccda}/Section/_Results.liquid | 2 +- .../Section/_SocialHistory.liquid | 2 +- .../{Cda => Ccda}/Section/_VitalSigns.liquid | 2 +- .../{Cda => Ccda}/Utils/_GenerateId.liquid | 0 .../{Cda => Ccda}/ValueSet/ValueSet.json | 0 .../{Cda => Ccda}/ValueSet/_AddressUse.liquid | 0 .../ValueSet/_AllergyCategory.liquid | 0 .../ValueSet/_AllergySeverity.liquid | 0 .../ValueSet/_AllergyStatus.liquid | 0 .../ValueSet/_CompositionStatus.liquid | 0 .../ValueSet/_DiagnosticReportStatus.liquid | 0 .../ValueSet/_EncounterStatus.liquid | 0 .../ValueSet/_EventStatus.liquid | 0 .../{Cda => Ccda}/ValueSet/_FMStatus.liquid | 0 .../{Cda => Ccda}/ValueSet/_Language.liquid | 0 .../_MedicationStatementStatus.liquid | 0 .../{Cda => Ccda}/ValueSet/_NameUse.liquid | 0 .../ValueSet/_ObservationStatus.liquid | 0 .../ValueSet/_RequestStatus.liquid | 0 .../ValueSet/_SystemReference.liquid | 0 .../{Cda => Ccda}/ValueSet/_TelecomUse.liquid | 0 data/Templates/{Cda => Ccda}/metadata.json | 0 .../FunctionalTests.cs | 26 ++++++------ .../RuleBasedTests.cs | 14 +++---- .../CCD/170.314B2_Amb_CCD-expected.json | 0 .../CCD/C-CDA_R2-1_CCD.xml-expected.json | 0 ...t-Document-Replace-C-CDAR2.1-expected.json | 0 .../{Cda => Ccda}/CCD/CCD-expected.json | 0 .../ConverterLogicHandler.cs | 12 +++--- .../CcdaDataParserTests.cs} | 22 +++++----- .../CcdaProcessorTests.cs} | 36 ++++++++-------- .../CcdaTemplateProviderTests.cs} | 14 +++---- .../Constants.cs | 2 +- .../Filters/CollectionFiltersTest.cs | 4 +- .../Filters/SectionFiltersTests.cs | 42 +++++++++---------- .../Utilities/TemplateUtilityTests.cs | 4 +- .../CcdaDataParser.cs} | 4 +- .../CdaProcessor.cs => Ccda/CcdaProcessor.cs} | 16 +++---- .../CcdaTemplateProvider.cs} | 10 ++--- .../{Cda => Ccda}/DictionaryJsonConverter.cs | 2 +- .../Filters/SectionFilters.cs | 8 ++-- .../Models/DataType.cs | 2 +- .../Utilities/TemplateUtility.cs | 2 +- .../TemplateCollectionFunctionalTests.cs | 30 ++++++------- .../Models/DefaultTemplateInfoTest.cs | 2 +- .../TemplateCollectionProviderTests.cs | 4 +- .../TemplateCollectionProviderFactoryTests.cs | 2 +- ...soft.Health.Fhir.TemplateManagement.csproj | 6 +-- .../Models/DefaultTemplateInfo.cs | 2 +- 809 files changed, 141 insertions(+), 141 deletions(-) rename data/SampleData/{Cda/170.314B2_Amb_CCD.cda => Ccda/170.314B2_Amb_CCD.ccda} (100%) rename data/SampleData/{Cda/C-CDA_R2-1_CCD.xml.cda => Ccda/C-CDA_R2-1_CCD.xml.ccda} (100%) rename data/SampleData/{Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda => Ccda/CCD-Parent-Document-Replace-C-CDAR2.1.ccda} (100%) rename data/SampleData/{Cda/CCD.cda => Ccda/CCD.ccda} (100%) rename data/SampleData/{Cda/CDA_with_Embedded_PDF.cda => Ccda/CDA_with_Embedded_PDF.ccda} (100%) rename data/SampleData/{Cda/Care_Plan.cda => Ccda/Care_Plan.ccda} (100%) rename data/SampleData/{Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda => Ccda/Consult-Document-Closing-Referral-C-CDAR2.1.ccda} (100%) rename data/SampleData/{Cda/Consultation_Note.cda => Ccda/Consultation_Note.ccda} (100%) rename data/SampleData/{Cda/Diagnostic_Imaging_Report.cda => Ccda/Diagnostic_Imaging_Report.ccda} (100%) rename data/SampleData/{Cda/Discharge_Summary.cda => Ccda/Discharge_Summary.ccda} (100%) rename data/SampleData/{Cda/History_and_Physical.cda => Ccda/History_and_Physical.ccda} (100%) rename data/SampleData/{Cda/Operative_Note.cda => Ccda/Operative_Note.ccda} (100%) rename data/SampleData/{Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda => Ccda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.ccda} (100%) rename data/SampleData/{Cda/Patient-1.cda => Ccda/Patient-1.ccda} (100%) rename data/SampleData/{Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda => Ccda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.ccda} (100%) rename data/SampleData/{Cda/Procedure_Note.cda => Ccda/Procedure_Note.ccda} (100%) rename data/SampleData/{Cda/Progress_Note.cda => Ccda/Progress_Note.ccda} (100%) rename data/SampleData/{Cda/Referral_Note.cda => Ccda/Referral_Note.ccda} (100%) rename data/SampleData/{Cda/Transfer_Summary.cda => Ccda/Transfer_Summary.ccda} (100%) rename data/SampleData/{Cda/Unstructured_Document_embed.cda => Ccda/Unstructured_Document_embed.ccda} (100%) rename data/SampleData/{Cda/Unstructured_Document_reference.cda => Ccda/Unstructured_Document_reference.ccda} (100%) rename data/SampleData/{Cda/sample.cda => Ccda/sample.ccda} (100%) rename data/Templates/{Cda => Ccda}/CCD.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_Address.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_CodeableConcept.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_Coding.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_ContactPoint.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_HumanName.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_Identifier.liquid (100%) rename data/Templates/{Cda => Ccda}/DataType/_Period.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/Medication/_entry.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/Problem/_entry.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/Problem/_entry_act_entryRelationship.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/Results/_entry.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/Results/_entry_organizer_component.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/SocialHistory/_entry.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/VitalSigns/_entry.liquid (100%) rename data/Templates/{Cda => Ccda}/Entry/VitalSigns/_entry_organizer_component.liquid (100%) rename data/Templates/{Cda => Ccda}/Extension/_Ethnicity.liquid (100%) rename data/Templates/{Cda => Ccda}/Extension/_Race.liquid (100%) rename data/Templates/{Cda => Ccda}/Header.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Account/_Coverage_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Account/_Guarantor_Party.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Account/_Owner.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Account/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Account/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ActivityDefinition/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ActivityDefinition/_ObservationRequirement.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ActivityDefinition/_ObservationResultRequirement.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ActivityDefinition/_ProductReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ActivityDefinition/_SpecimenRequirement.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ActivityDefinition/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_Contributor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_Recorder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_ReferenceDocument.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_ResultingCondition.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_Study.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_SubjectMedicalHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AdverseEvent/_SuspectEntity_Instance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AllergyIntolerance/_Asserter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AllergyIntolerance/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AllergyIntolerance/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AllergyIntolerance/_Recorder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Appointment/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Appointment/_Participant_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Appointment/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Appointment/_Slot.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Appointment/_SupportingInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AppointmentResponse/_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AppointmentResponse/_Appointment.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AuditEvent/_Agent_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AuditEvent/_Agent_Who.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AuditEvent/_Entity_What.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/AuditEvent/_Source_Observer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Basic/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Basic/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Binary/_SecurityContext.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/BiologicallyDerivedProduct/_Parent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/BiologicallyDerivedProduct/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/BodyStructure/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CapabilityStatement/_Implementation_Custodian.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Activity_OutcomeReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Activity_Reference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Addresses.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_CareTeam.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Contributor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Goal.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Replaces.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CarePlan/_SupportingInfo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CareTeam/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CareTeam/_ManagingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CareTeam/_Participant_Member.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CareTeam/_Participant_OnBehalfOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CareTeam/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CareTeam/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CatalogEntry/_ReferencedItem.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CatalogEntry/_RelatedEntry_Item.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_Account.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_Context.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_CostCenter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_Enterer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_Performer_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_PerformingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_ProductReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_RequestingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_Service.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItem/_SupportingInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ChargeItemDefinition/_Instance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Accident_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_CareTeam_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Diagnosis_DiagnosisReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Enterer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Facility.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Insurance_ClaimResponse.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Insurance_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Insurer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Item_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Item_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Item_Udi.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_OriginalPrescription.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Payee_Party.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Prescription.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Procedure_ProcedureReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Procedure_Udi.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Referral.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_Related_Claim.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Claim/_SupportingInfo_ValueReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_AddItem_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_AddItem_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_CommunicationRequest.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_Insurance_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_Insurer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClaimResponse/_Requestor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Assessor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Finding_ItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Investigation_Item.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Previous.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Problem.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_PrognosisReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ClinicalImpression/_SupportingInfo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_About.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_InResponseTo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_Payload_ContentReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_Recipient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_Sender.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Communication/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_About.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Payload_ContentReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Recipient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Replaces.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Requester.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Sender.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CommunicationRequest/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Attester_Party.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Custodian.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Event_Detail.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_RelatesTo_TargetReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Section_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Section_Entry.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Section_Focus.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Composition/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Condition/_Asserter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Condition/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Condition/_Evidence_Detail.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Condition/_Recorder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Condition/_Stage_Assessment.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Condition/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Consent/_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Consent/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Consent/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Consent/_SourceReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Consent/_Verification_VerifiedWith.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Authority.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_ContentDefinition_Publisher.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Domain.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Friendly_ContentReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_InstantiatesCanonical.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Legal_ContentReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_LegallyBindingReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_RelevantHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Rule_ContentReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Signer_Party.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Site.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_SupportingInfo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_Term_TopicReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Contract/_TopicReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Coverage/_Beneficiary.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Coverage/_Contract.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Coverage/_Payor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Coverage/_PolicyHolder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Coverage/_Subscriber.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Enterer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Facility.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Insurer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Item_Detail.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Item_Facility.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Item_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityResponse/_Insurer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityResponse/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityResponse/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/CoverageEligibilityResponse/_Requestor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DetectedIssue/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DetectedIssue/_Evidence_Detail.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DetectedIssue/_Implicated.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DetectedIssue/_Mitigation_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DetectedIssue/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Device/_Definition.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Device/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Device/_Owner.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Device/_Parent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Device/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceDefinition/_ManufacturerReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceDefinition/_Owner.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceDefinition/_ParentDevice.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceMetric/_Parent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceMetric/_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_CodeReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_Insurance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_PriorRequest.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_RelevantHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_Requester.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceRequest/_SupportingInfo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceUseStatement/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceUseStatement/_DerivedFrom.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceUseStatement/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceUseStatement/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceUseStatement/_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DeviceUseStatement/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_ImagingStudy.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_Media_Link.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_Result.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_ResultsInterpreter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_Specimen.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DiagnosticReport/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentManifest/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentManifest/_Content.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentManifest/_Recipient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentManifest/_Related_Ref.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentManifest/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Authenticator.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Context_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Context_Related.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Context_SourcePatientInfo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Custodian.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_RelatesTo_Target.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/DocumentReference/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EffectEvidenceSynthesis/_Exposure.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EffectEvidenceSynthesis/_Outcome.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EffectEvidenceSynthesis/_Population.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Account.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Appointment.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Diagnosis_Condition.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_EpisodeOfCare.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Hospitalization_Destination.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Hospitalization_Origin.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Location_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Participant_Individual.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_ServiceProvider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Encounter/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Endpoint/_ManagingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentRequest/_Candidate.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentRequest/_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentRequest/_Insurer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentRequest/_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentResponse/_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentResponse/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EnrollmentResponse/_RequestProvider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_Account.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_CareManager.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_ManagingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_ReferralRequest.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EpisodeOfCare/_Team.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EventDefinition/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Evidence/_ExposureBackground.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Evidence/_ExposureVariant.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Evidence/_Outcome.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Claim.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_ClaimResponse.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Enterer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Facility.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Insurer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Item_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Item_Udi.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Payee_Party.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Prescription.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Referral.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_Related_Claim.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/FamilyMemberHistory/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/FamilyMemberHistory/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Flag/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Flag/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Flag/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Goal/_Addresses.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Goal/_ExpressedBy.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Goal/_OutcomeReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Goal/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Group/_Characteristic_ValueReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Group/_ManagingEntity.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Group/_Member_Entity.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_EvaluationMessage.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_OutputParameters.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_Result.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/GuidanceResponse/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/HealthcareService/_CoverageArea.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/HealthcareService/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/HealthcareService/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/HealthcareService/_ProvidedBy.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Interpreter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_ProcedureReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Referrer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Series_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Series_Specimen.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImagingStudy/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_Performer_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_ProtocolApplied_Authority.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_Reaction_Detail.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Immunization/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationEvaluation/_Authority.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationEvaluation/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationRecommendation/_Authority.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationRecommendation/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_AdministeredBy.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_CoverageArea.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_Coverage_Network.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_Network.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_OwnedBy.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_Plan_CoverageArea.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/InsurancePlan/_Plan_Network.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Invoice/_Account.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Invoice/_Issuer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Invoice/_LineItem_ChargeItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Invoice/_Participant_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Invoice/_Recipient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Invoice/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Library/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Linkage/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Linkage/_Item_Resource.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/List/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/List/_Entry_Item.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/List/_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/List/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Location/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Location/_ManagingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Location/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Measure/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MeasureReport/_EvaluatedResource.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MeasureReport/_Reporter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MeasureReport/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Media/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Media/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Media/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Media/_Operator.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Media/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Media/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Medication/_Ingredient_ItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Medication/_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_Context.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_EventHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_MedicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_Performer_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationAdministration/_SupportingInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_AuthorizingPrescription.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Context.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Destination.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_DetectedIssue.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_EventHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_MedicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Performer_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Receiver.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_StatusReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationDispense/_SupportingInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_AssociatedMedication.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_Contraindication.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_Monograph_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_DetectedIssue.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_DispenseRequest_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_EventHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_Insurance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_MedicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_PriorPrescription.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_Recorder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_ReportedReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_Requester.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationRequest/_SupportingInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_Context.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_DerivedFrom.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_InformationSource.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_MedicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicationStatement/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_AttachedDocument.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_ClinicalTrial.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_Contact.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_MasterFile.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductAuthorization/_Holder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductAuthorization/_Regulator.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductAuthorization/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductContraindication/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductIndication/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductIndication/_UndesirableEffect.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductIngredient/_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductInteraction/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductManufactured/_Ingredient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductManufactured/_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPackaged/_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPackaged/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPharmaceutical/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MedicinalProductUndesirableEffect/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Destination_Receiver.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Destination_Target.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Enterer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Focus.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Response_Details.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Responsible.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MessageHeader/_Sender.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_Pointer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_Specimen.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/MolecularSequence/_Variant_VariantPointer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/NutritionOrder/_AllergyIntolerance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/NutritionOrder/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/NutritionOrder/_Orderer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/NutritionOrder/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_DerivedFrom.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_Focus.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_HasMember.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_Specimen.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Observation/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ObservationDefinition/_NormalCodedValueSet.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ObservationDefinition/_ValidCodedValueSet.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Organization/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Organization/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/OrganizationAffiliation/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/OrganizationAffiliation/_HealthcareService.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/OrganizationAffiliation/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/OrganizationAffiliation/_Network.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/OrganizationAffiliation/_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Parameters/_Parameter_ValueReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Patient/_Contact_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Patient/_GeneralPractitioner.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Patient/_Link_Other.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Patient/_ManagingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentNotice/_Payee.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentNotice/_Payment.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentNotice/_Provider.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentNotice/_Recipient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentNotice/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentNotice/_Response.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Detail_Payee.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Detail_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Detail_Response.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Detail_Responsible.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Detail_Submitter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_PaymentIssuer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PaymentReconciliation/_Requestor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Person/_Link_Target.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Person/_ManagingOrganization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PlanDefinition/_Action_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PlanDefinition/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Practitioner/_Qualification_Issuer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PractitionerRole/_Endpoint.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PractitionerRole/_HealthcareService.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PractitionerRole/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PractitionerRole/_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/PractitionerRole/_Practitioner.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Asserter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_ComplicationDetail.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_FocalDevice_Manipulated.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Performer_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Performer_OnBehalfOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Recorder.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Report.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Procedure/_UsedReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Provenance/_Agent_OnBehalfOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Provenance/_Agent_Who.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Provenance/_Entity_What.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Provenance/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Provenance/_Target.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/QuestionnaireResponse/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/QuestionnaireResponse/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/QuestionnaireResponse/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/QuestionnaireResponse/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/QuestionnaireResponse/_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/QuestionnaireResponse/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RelatedPerson/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_Action_Participant.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_Action_Resource.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_Author.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_Replaces.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RequestGroup/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchDefinition/_Exposure.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchDefinition/_ExposureAlternative.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchDefinition/_Outcome.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchDefinition/_Population.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchDefinition/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchElementDefinition/_SubjectReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchStudy/_Enrollment.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchStudy/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchStudy/_PrincipalInvestigator.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchStudy/_Protocol.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchStudy/_Site.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchStudy/_Sponsor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchSubject/_Consent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchSubject/_Individual.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ResearchSubject/_Study.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_Basis.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_Condition.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_Parent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskAssessment/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskEvidenceSynthesis/_Exposure.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskEvidenceSynthesis/_Outcome.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/RiskEvidenceSynthesis/_Population.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Schedule/_Actor.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Insurance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_LocationReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Performer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_RelevantHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Replaces.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Requester.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Specimen.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/ServiceRequest/_SupportingInfo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Slot/_Schedule.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Specimen/_Collection_Collector.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Specimen/_Container_AdditiveReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Specimen/_Parent.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Specimen/_Processing_Additive.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Specimen/_Request.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Specimen/_Subject.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Substance/_Ingredient_SubstanceReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceReferenceInformation/_Classification_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceReferenceInformation/_Gene_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceReferenceInformation/_Target_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Code_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Name_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_NucleicAcid.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Polymer.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Protein.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_ReferenceInformation.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Relationship_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_SourceMaterial.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SubstanceSpecification/_Structure_Source.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_Destination.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_Receiver.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyDelivery/_Supplier.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyRequest/_DeliverFrom.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyRequest/_DeliverTo.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyRequest/_ItemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyRequest/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyRequest/_Requester.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/SupplyRequest/_Supplier.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_BasedOn.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Focus.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_For.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Input_ValueReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Insurance.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Output_ValueReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Owner.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_PartOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_ReasonReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_RelevantHistory.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Requester.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/Task/_Restriction_Recipient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/TestReport/_TestScript.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/TestScript/_Fixture_Resource.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/TestScript/_Profile.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VerificationResult/_Attestation_Who.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VerificationResult/_PrimarySource_Who.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VerificationResult/_Target.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VerificationResult/_Validator_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VisionPrescription/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VisionPrescription/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Reference/VisionPrescription/_Prescriber.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_AllergyIntolerance.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Communication.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Composition.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Condition.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Consent.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Coverage.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Device.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_DiagnosticReport.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_DocumentReference.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Encounter.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Goal.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Location.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Medication.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_MedicationAdministration.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_MedicationDispense.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_MedicationRequest.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_MedicationStatement.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Observation.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Organization.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Patient.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Practitioner.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_Procedure.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_RelatedPerson.liquid (100%) rename data/Templates/{Cda => Ccda}/Resource/_ServiceRequest.liquid (100%) rename data/Templates/{Cda => Ccda}/Section/_AllergiesAndAdverseReactions.liquid (86%) rename data/Templates/{Cda => Ccda}/Section/_Medication.liquid (51%) rename data/Templates/{Cda => Ccda}/Section/_Problem.liquid (51%) rename data/Templates/{Cda => Ccda}/Section/_Results.liquid (51%) rename data/Templates/{Cda => Ccda}/Section/_SocialHistory.liquid (52%) rename data/Templates/{Cda => Ccda}/Section/_VitalSigns.liquid (51%) rename data/Templates/{Cda => Ccda}/Utils/_GenerateId.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/ValueSet.json (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_AddressUse.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_AllergyCategory.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_AllergySeverity.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_AllergyStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_CompositionStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_DiagnosticReportStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_EncounterStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_EventStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_FMStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_Language.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_MedicationStatementStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_NameUse.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_ObservationStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_RequestStatus.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_SystemReference.liquid (100%) rename data/Templates/{Cda => Ccda}/ValueSet/_TelecomUse.liquid (100%) rename data/Templates/{Cda => Ccda}/metadata.json (100%) rename src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/{Cda => Ccda}/CCD/170.314B2_Amb_CCD-expected.json (100%) rename src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/{Cda => Ccda}/CCD/C-CDA_R2-1_CCD.xml-expected.json (100%) rename src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/{Cda => Ccda}/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json (100%) rename src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/{Cda => Ccda}/CCD/CCD-expected.json (100%) rename src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/{Cda/CdaDataParserTests.cs => Ccda/CcdaDataParserTests.cs} (84%) rename src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/{Cda/CdaProcessorTests.cs => Ccda/CcdaProcessorTests.cs} (80%) rename src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/{Cda/CdaTemplateProviderTests.cs => Ccda/CcdaTemplateProviderTests.cs} (75%) rename src/Microsoft.Health.Fhir.Liquid.Converter/{Cda/CdaDataParser.cs => Ccda/CcdaDataParser.cs} (98%) rename src/Microsoft.Health.Fhir.Liquid.Converter/{Cda/CdaProcessor.cs => Ccda/CcdaProcessor.cs} (83%) rename src/Microsoft.Health.Fhir.Liquid.Converter/{Cda/CdaTemplateProvider.cs => Ccda/CcdaTemplateProvider.cs} (78%) rename src/Microsoft.Health.Fhir.Liquid.Converter/{Cda => Ccda}/DictionaryJsonConverter.cs (98%) diff --git a/.gitattributes b/.gitattributes index 33c345541..0cba6a6ce 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,6 +2,6 @@ *.json text eol=LF *.liquid text eol=LF *.xml text eol=LF -*.cda text eol=LF +*.ccda text eol=LF *.hl7 text eol=LF *.md text eol=LF \ No newline at end of file diff --git a/README.md b/README.md index 8a8c37ad2..5ac131117 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ The following table compares the two converter engines: | ----- | ----- | ----- | | **Template language** | [Handlebars](https://handlebarsjs.com/) | [Liquid](https://shopify.github.io/liquid/) | | **Template authoring tool** | Self-hosted web-app | [VS Code extension](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-health-fhir-converter)| -| **Supported conversions** | 1. HL7v2 to FHIR
2. CCDA to FHIR | 1. HL7 v2 to FHIR
2. *CCDA to FHIR (to be released soon)*| +| **Supported conversions** | 1. HL7v2 to FHIR
2. C-CDA to FHIR | 1. HL7 v2 to FHIR
2. *C-CDA to FHIR (to be released soon)*| | **Available as** | 1. Self-deployed web service
(on-prem or on Azure)| 1. Command line tool
2. $convert-data operation in FHIR Server for Azure
3. $convert-data operation in Azure API for FHIR.| diff --git a/data/SampleData/Cda/170.314B2_Amb_CCD.cda b/data/SampleData/Ccda/170.314B2_Amb_CCD.ccda similarity index 100% rename from data/SampleData/Cda/170.314B2_Amb_CCD.cda rename to data/SampleData/Ccda/170.314B2_Amb_CCD.ccda diff --git a/data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda b/data/SampleData/Ccda/C-CDA_R2-1_CCD.xml.ccda similarity index 100% rename from data/SampleData/Cda/C-CDA_R2-1_CCD.xml.cda rename to data/SampleData/Ccda/C-CDA_R2-1_CCD.xml.ccda diff --git a/data/SampleData/Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda b/data/SampleData/Ccda/CCD-Parent-Document-Replace-C-CDAR2.1.ccda similarity index 100% rename from data/SampleData/Cda/CCD-Parent-Document-Replace-C-CDAR2.1.cda rename to data/SampleData/Ccda/CCD-Parent-Document-Replace-C-CDAR2.1.ccda diff --git a/data/SampleData/Cda/CCD.cda b/data/SampleData/Ccda/CCD.ccda similarity index 100% rename from data/SampleData/Cda/CCD.cda rename to data/SampleData/Ccda/CCD.ccda diff --git a/data/SampleData/Cda/CDA_with_Embedded_PDF.cda b/data/SampleData/Ccda/CDA_with_Embedded_PDF.ccda similarity index 100% rename from data/SampleData/Cda/CDA_with_Embedded_PDF.cda rename to data/SampleData/Ccda/CDA_with_Embedded_PDF.ccda diff --git a/data/SampleData/Cda/Care_Plan.cda b/data/SampleData/Ccda/Care_Plan.ccda similarity index 100% rename from data/SampleData/Cda/Care_Plan.cda rename to data/SampleData/Ccda/Care_Plan.ccda diff --git a/data/SampleData/Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda b/data/SampleData/Ccda/Consult-Document-Closing-Referral-C-CDAR2.1.ccda similarity index 100% rename from data/SampleData/Cda/Consult-Document-Closing-Referral-C-CDAR2.1.cda rename to data/SampleData/Ccda/Consult-Document-Closing-Referral-C-CDAR2.1.ccda diff --git a/data/SampleData/Cda/Consultation_Note.cda b/data/SampleData/Ccda/Consultation_Note.ccda similarity index 100% rename from data/SampleData/Cda/Consultation_Note.cda rename to data/SampleData/Ccda/Consultation_Note.ccda diff --git a/data/SampleData/Cda/Diagnostic_Imaging_Report.cda b/data/SampleData/Ccda/Diagnostic_Imaging_Report.ccda similarity index 100% rename from data/SampleData/Cda/Diagnostic_Imaging_Report.cda rename to data/SampleData/Ccda/Diagnostic_Imaging_Report.ccda diff --git a/data/SampleData/Cda/Discharge_Summary.cda b/data/SampleData/Ccda/Discharge_Summary.ccda similarity index 100% rename from data/SampleData/Cda/Discharge_Summary.cda rename to data/SampleData/Ccda/Discharge_Summary.ccda diff --git a/data/SampleData/Cda/History_and_Physical.cda b/data/SampleData/Ccda/History_and_Physical.ccda similarity index 100% rename from data/SampleData/Cda/History_and_Physical.cda rename to data/SampleData/Ccda/History_and_Physical.ccda diff --git a/data/SampleData/Cda/Operative_Note.cda b/data/SampleData/Ccda/Operative_Note.ccda similarity index 100% rename from data/SampleData/Cda/Operative_Note.cda rename to data/SampleData/Ccda/Operative_Note.ccda diff --git a/data/SampleData/Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda b/data/SampleData/Ccda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.ccda similarity index 100% rename from data/SampleData/Cda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.cda rename to data/SampleData/Ccda/PROBLEMS_in_Empty_C-CDA_2.1-C-CDAR2.1.ccda diff --git a/data/SampleData/Cda/Patient-1.cda b/data/SampleData/Ccda/Patient-1.ccda similarity index 100% rename from data/SampleData/Cda/Patient-1.cda rename to data/SampleData/Ccda/Patient-1.ccda diff --git a/data/SampleData/Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda b/data/SampleData/Ccda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.ccda similarity index 100% rename from data/SampleData/Cda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.cda rename to data/SampleData/Ccda/Patient-and-Provider-Organization-Direct-Address-C-CDAR2.1.ccda diff --git a/data/SampleData/Cda/Procedure_Note.cda b/data/SampleData/Ccda/Procedure_Note.ccda similarity index 100% rename from data/SampleData/Cda/Procedure_Note.cda rename to data/SampleData/Ccda/Procedure_Note.ccda diff --git a/data/SampleData/Cda/Progress_Note.cda b/data/SampleData/Ccda/Progress_Note.ccda similarity index 100% rename from data/SampleData/Cda/Progress_Note.cda rename to data/SampleData/Ccda/Progress_Note.ccda diff --git a/data/SampleData/Cda/Referral_Note.cda b/data/SampleData/Ccda/Referral_Note.ccda similarity index 100% rename from data/SampleData/Cda/Referral_Note.cda rename to data/SampleData/Ccda/Referral_Note.ccda diff --git a/data/SampleData/Cda/Transfer_Summary.cda b/data/SampleData/Ccda/Transfer_Summary.ccda similarity index 100% rename from data/SampleData/Cda/Transfer_Summary.cda rename to data/SampleData/Ccda/Transfer_Summary.ccda diff --git a/data/SampleData/Cda/Unstructured_Document_embed.cda b/data/SampleData/Ccda/Unstructured_Document_embed.ccda similarity index 100% rename from data/SampleData/Cda/Unstructured_Document_embed.cda rename to data/SampleData/Ccda/Unstructured_Document_embed.ccda diff --git a/data/SampleData/Cda/Unstructured_Document_reference.cda b/data/SampleData/Ccda/Unstructured_Document_reference.ccda similarity index 100% rename from data/SampleData/Cda/Unstructured_Document_reference.cda rename to data/SampleData/Ccda/Unstructured_Document_reference.ccda diff --git a/data/SampleData/Cda/sample.cda b/data/SampleData/Ccda/sample.ccda similarity index 100% rename from data/SampleData/Cda/sample.cda rename to data/SampleData/Ccda/sample.ccda diff --git a/data/Templates/Cda/CCD.liquid b/data/Templates/Ccda/CCD.liquid similarity index 100% rename from data/Templates/Cda/CCD.liquid rename to data/Templates/Ccda/CCD.liquid diff --git a/data/Templates/Cda/DataType/_Address.liquid b/data/Templates/Ccda/DataType/_Address.liquid similarity index 100% rename from data/Templates/Cda/DataType/_Address.liquid rename to data/Templates/Ccda/DataType/_Address.liquid diff --git a/data/Templates/Cda/DataType/_CodeableConcept.liquid b/data/Templates/Ccda/DataType/_CodeableConcept.liquid similarity index 100% rename from data/Templates/Cda/DataType/_CodeableConcept.liquid rename to data/Templates/Ccda/DataType/_CodeableConcept.liquid diff --git a/data/Templates/Cda/DataType/_Coding.liquid b/data/Templates/Ccda/DataType/_Coding.liquid similarity index 100% rename from data/Templates/Cda/DataType/_Coding.liquid rename to data/Templates/Ccda/DataType/_Coding.liquid diff --git a/data/Templates/Cda/DataType/_ContactPoint.liquid b/data/Templates/Ccda/DataType/_ContactPoint.liquid similarity index 100% rename from data/Templates/Cda/DataType/_ContactPoint.liquid rename to data/Templates/Ccda/DataType/_ContactPoint.liquid diff --git a/data/Templates/Cda/DataType/_HumanName.liquid b/data/Templates/Ccda/DataType/_HumanName.liquid similarity index 100% rename from data/Templates/Cda/DataType/_HumanName.liquid rename to data/Templates/Ccda/DataType/_HumanName.liquid diff --git a/data/Templates/Cda/DataType/_Identifier.liquid b/data/Templates/Ccda/DataType/_Identifier.liquid similarity index 100% rename from data/Templates/Cda/DataType/_Identifier.liquid rename to data/Templates/Ccda/DataType/_Identifier.liquid diff --git a/data/Templates/Cda/DataType/_Period.liquid b/data/Templates/Ccda/DataType/_Period.liquid similarity index 100% rename from data/Templates/Cda/DataType/_Period.liquid rename to data/Templates/Ccda/DataType/_Period.liquid diff --git a/data/Templates/Cda/Entry/Medication/_entry.liquid b/data/Templates/Ccda/Entry/Medication/_entry.liquid similarity index 100% rename from data/Templates/Cda/Entry/Medication/_entry.liquid rename to data/Templates/Ccda/Entry/Medication/_entry.liquid diff --git a/data/Templates/Cda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid b/data/Templates/Ccda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid similarity index 100% rename from data/Templates/Cda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid rename to data/Templates/Ccda/Entry/Medication/_entry_substanceAdministration_entryRelationship.liquid diff --git a/data/Templates/Cda/Entry/Problem/_entry.liquid b/data/Templates/Ccda/Entry/Problem/_entry.liquid similarity index 100% rename from data/Templates/Cda/Entry/Problem/_entry.liquid rename to data/Templates/Ccda/Entry/Problem/_entry.liquid diff --git a/data/Templates/Cda/Entry/Problem/_entry_act_entryRelationship.liquid b/data/Templates/Ccda/Entry/Problem/_entry_act_entryRelationship.liquid similarity index 100% rename from data/Templates/Cda/Entry/Problem/_entry_act_entryRelationship.liquid rename to data/Templates/Ccda/Entry/Problem/_entry_act_entryRelationship.liquid diff --git a/data/Templates/Cda/Entry/Results/_entry.liquid b/data/Templates/Ccda/Entry/Results/_entry.liquid similarity index 100% rename from data/Templates/Cda/Entry/Results/_entry.liquid rename to data/Templates/Ccda/Entry/Results/_entry.liquid diff --git a/data/Templates/Cda/Entry/Results/_entry_organizer_component.liquid b/data/Templates/Ccda/Entry/Results/_entry_organizer_component.liquid similarity index 100% rename from data/Templates/Cda/Entry/Results/_entry_organizer_component.liquid rename to data/Templates/Ccda/Entry/Results/_entry_organizer_component.liquid diff --git a/data/Templates/Cda/Entry/SocialHistory/_entry.liquid b/data/Templates/Ccda/Entry/SocialHistory/_entry.liquid similarity index 100% rename from data/Templates/Cda/Entry/SocialHistory/_entry.liquid rename to data/Templates/Ccda/Entry/SocialHistory/_entry.liquid diff --git a/data/Templates/Cda/Entry/VitalSigns/_entry.liquid b/data/Templates/Ccda/Entry/VitalSigns/_entry.liquid similarity index 100% rename from data/Templates/Cda/Entry/VitalSigns/_entry.liquid rename to data/Templates/Ccda/Entry/VitalSigns/_entry.liquid diff --git a/data/Templates/Cda/Entry/VitalSigns/_entry_organizer_component.liquid b/data/Templates/Ccda/Entry/VitalSigns/_entry_organizer_component.liquid similarity index 100% rename from data/Templates/Cda/Entry/VitalSigns/_entry_organizer_component.liquid rename to data/Templates/Ccda/Entry/VitalSigns/_entry_organizer_component.liquid diff --git a/data/Templates/Cda/Extension/_Ethnicity.liquid b/data/Templates/Ccda/Extension/_Ethnicity.liquid similarity index 100% rename from data/Templates/Cda/Extension/_Ethnicity.liquid rename to data/Templates/Ccda/Extension/_Ethnicity.liquid diff --git a/data/Templates/Cda/Extension/_Race.liquid b/data/Templates/Ccda/Extension/_Race.liquid similarity index 100% rename from data/Templates/Cda/Extension/_Race.liquid rename to data/Templates/Ccda/Extension/_Race.liquid diff --git a/data/Templates/Cda/Header.liquid b/data/Templates/Ccda/Header.liquid similarity index 100% rename from data/Templates/Cda/Header.liquid rename to data/Templates/Ccda/Header.liquid diff --git a/data/Templates/Cda/Reference/Account/_Coverage_Coverage.liquid b/data/Templates/Ccda/Reference/Account/_Coverage_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/Account/_Coverage_Coverage.liquid rename to data/Templates/Ccda/Reference/Account/_Coverage_Coverage.liquid diff --git a/data/Templates/Cda/Reference/Account/_Guarantor_Party.liquid b/data/Templates/Ccda/Reference/Account/_Guarantor_Party.liquid similarity index 100% rename from data/Templates/Cda/Reference/Account/_Guarantor_Party.liquid rename to data/Templates/Ccda/Reference/Account/_Guarantor_Party.liquid diff --git a/data/Templates/Cda/Reference/Account/_Owner.liquid b/data/Templates/Ccda/Reference/Account/_Owner.liquid similarity index 100% rename from data/Templates/Cda/Reference/Account/_Owner.liquid rename to data/Templates/Ccda/Reference/Account/_Owner.liquid diff --git a/data/Templates/Cda/Reference/Account/_PartOf.liquid b/data/Templates/Ccda/Reference/Account/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Account/_PartOf.liquid rename to data/Templates/Ccda/Reference/Account/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Account/_Subject.liquid b/data/Templates/Ccda/Reference/Account/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Account/_Subject.liquid rename to data/Templates/Ccda/Reference/Account/_Subject.liquid diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_Location.liquid b/data/Templates/Ccda/Reference/ActivityDefinition/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/ActivityDefinition/_Location.liquid rename to data/Templates/Ccda/Reference/ActivityDefinition/_Location.liquid diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_ObservationRequirement.liquid b/data/Templates/Ccda/Reference/ActivityDefinition/_ObservationRequirement.liquid similarity index 100% rename from data/Templates/Cda/Reference/ActivityDefinition/_ObservationRequirement.liquid rename to data/Templates/Ccda/Reference/ActivityDefinition/_ObservationRequirement.liquid diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid b/data/Templates/Ccda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid similarity index 100% rename from data/Templates/Cda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid rename to data/Templates/Ccda/Reference/ActivityDefinition/_ObservationResultRequirement.liquid diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_ProductReference.liquid b/data/Templates/Ccda/Reference/ActivityDefinition/_ProductReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ActivityDefinition/_ProductReference.liquid rename to data/Templates/Ccda/Reference/ActivityDefinition/_ProductReference.liquid diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_SpecimenRequirement.liquid b/data/Templates/Ccda/Reference/ActivityDefinition/_SpecimenRequirement.liquid similarity index 100% rename from data/Templates/Cda/Reference/ActivityDefinition/_SpecimenRequirement.liquid rename to data/Templates/Ccda/Reference/ActivityDefinition/_SpecimenRequirement.liquid diff --git a/data/Templates/Cda/Reference/ActivityDefinition/_SubjectReference.liquid b/data/Templates/Ccda/Reference/ActivityDefinition/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ActivityDefinition/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/ActivityDefinition/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Contributor.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_Contributor.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_Contributor.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_Contributor.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Encounter.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_Encounter.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Location.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_Location.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_Location.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Recorder.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_Recorder.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_Recorder.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_Recorder.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_ReferenceDocument.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_ReferenceDocument.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_ReferenceDocument.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_ReferenceDocument.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_ResultingCondition.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_ResultingCondition.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_ResultingCondition.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_ResultingCondition.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Study.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_Study.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_Study.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_Study.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_Subject.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_Subject.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_Subject.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_SubjectMedicalHistory.liquid diff --git a/data/Templates/Cda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid b/data/Templates/Ccda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid similarity index 100% rename from data/Templates/Cda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid rename to data/Templates/Ccda/Reference/AdverseEvent/_SuspectEntity_Instance.liquid diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Asserter.liquid b/data/Templates/Ccda/Reference/AllergyIntolerance/_Asserter.liquid similarity index 100% rename from data/Templates/Cda/Reference/AllergyIntolerance/_Asserter.liquid rename to data/Templates/Ccda/Reference/AllergyIntolerance/_Asserter.liquid diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Encounter.liquid b/data/Templates/Ccda/Reference/AllergyIntolerance/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/AllergyIntolerance/_Encounter.liquid rename to data/Templates/Ccda/Reference/AllergyIntolerance/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Patient.liquid b/data/Templates/Ccda/Reference/AllergyIntolerance/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/AllergyIntolerance/_Patient.liquid rename to data/Templates/Ccda/Reference/AllergyIntolerance/_Patient.liquid diff --git a/data/Templates/Cda/Reference/AllergyIntolerance/_Recorder.liquid b/data/Templates/Ccda/Reference/AllergyIntolerance/_Recorder.liquid similarity index 100% rename from data/Templates/Cda/Reference/AllergyIntolerance/_Recorder.liquid rename to data/Templates/Ccda/Reference/AllergyIntolerance/_Recorder.liquid diff --git a/data/Templates/Cda/Reference/Appointment/_BasedOn.liquid b/data/Templates/Ccda/Reference/Appointment/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Appointment/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Appointment/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Appointment/_Participant_Actor.liquid b/data/Templates/Ccda/Reference/Appointment/_Participant_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/Appointment/_Participant_Actor.liquid rename to data/Templates/Ccda/Reference/Appointment/_Participant_Actor.liquid diff --git a/data/Templates/Cda/Reference/Appointment/_ReasonReference.liquid b/data/Templates/Ccda/Reference/Appointment/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Appointment/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/Appointment/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/Appointment/_Slot.liquid b/data/Templates/Ccda/Reference/Appointment/_Slot.liquid similarity index 100% rename from data/Templates/Cda/Reference/Appointment/_Slot.liquid rename to data/Templates/Ccda/Reference/Appointment/_Slot.liquid diff --git a/data/Templates/Cda/Reference/Appointment/_SupportingInformation.liquid b/data/Templates/Ccda/Reference/Appointment/_SupportingInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/Appointment/_SupportingInformation.liquid rename to data/Templates/Ccda/Reference/Appointment/_SupportingInformation.liquid diff --git a/data/Templates/Cda/Reference/AppointmentResponse/_Actor.liquid b/data/Templates/Ccda/Reference/AppointmentResponse/_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/AppointmentResponse/_Actor.liquid rename to data/Templates/Ccda/Reference/AppointmentResponse/_Actor.liquid diff --git a/data/Templates/Cda/Reference/AppointmentResponse/_Appointment.liquid b/data/Templates/Ccda/Reference/AppointmentResponse/_Appointment.liquid similarity index 100% rename from data/Templates/Cda/Reference/AppointmentResponse/_Appointment.liquid rename to data/Templates/Ccda/Reference/AppointmentResponse/_Appointment.liquid diff --git a/data/Templates/Cda/Reference/AuditEvent/_Agent_Location.liquid b/data/Templates/Ccda/Reference/AuditEvent/_Agent_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/AuditEvent/_Agent_Location.liquid rename to data/Templates/Ccda/Reference/AuditEvent/_Agent_Location.liquid diff --git a/data/Templates/Cda/Reference/AuditEvent/_Agent_Who.liquid b/data/Templates/Ccda/Reference/AuditEvent/_Agent_Who.liquid similarity index 100% rename from data/Templates/Cda/Reference/AuditEvent/_Agent_Who.liquid rename to data/Templates/Ccda/Reference/AuditEvent/_Agent_Who.liquid diff --git a/data/Templates/Cda/Reference/AuditEvent/_Entity_What.liquid b/data/Templates/Ccda/Reference/AuditEvent/_Entity_What.liquid similarity index 100% rename from data/Templates/Cda/Reference/AuditEvent/_Entity_What.liquid rename to data/Templates/Ccda/Reference/AuditEvent/_Entity_What.liquid diff --git a/data/Templates/Cda/Reference/AuditEvent/_Source_Observer.liquid b/data/Templates/Ccda/Reference/AuditEvent/_Source_Observer.liquid similarity index 100% rename from data/Templates/Cda/Reference/AuditEvent/_Source_Observer.liquid rename to data/Templates/Ccda/Reference/AuditEvent/_Source_Observer.liquid diff --git a/data/Templates/Cda/Reference/Basic/_Author.liquid b/data/Templates/Ccda/Reference/Basic/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/Basic/_Author.liquid rename to data/Templates/Ccda/Reference/Basic/_Author.liquid diff --git a/data/Templates/Cda/Reference/Basic/_Subject.liquid b/data/Templates/Ccda/Reference/Basic/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Basic/_Subject.liquid rename to data/Templates/Ccda/Reference/Basic/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Binary/_SecurityContext.liquid b/data/Templates/Ccda/Reference/Binary/_SecurityContext.liquid similarity index 100% rename from data/Templates/Cda/Reference/Binary/_SecurityContext.liquid rename to data/Templates/Ccda/Reference/Binary/_SecurityContext.liquid diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid b/data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid similarity index 100% rename from data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid rename to data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Collection_Collector.liquid diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid b/data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid rename to data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Collection_Source.liquid diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Parent.liquid b/data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Parent.liquid similarity index 100% rename from data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Parent.liquid rename to data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Parent.liquid diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid b/data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid similarity index 100% rename from data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid rename to data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Processing_Additive.liquid diff --git a/data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Request.liquid b/data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/BiologicallyDerivedProduct/_Request.liquid rename to data/Templates/Ccda/Reference/BiologicallyDerivedProduct/_Request.liquid diff --git a/data/Templates/Cda/Reference/BodyStructure/_Patient.liquid b/data/Templates/Ccda/Reference/BodyStructure/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/BodyStructure/_Patient.liquid rename to data/Templates/Ccda/Reference/BodyStructure/_Patient.liquid diff --git a/data/Templates/Cda/Reference/CapabilityStatement/_Implementation_Custodian.liquid b/data/Templates/Ccda/Reference/CapabilityStatement/_Implementation_Custodian.liquid similarity index 100% rename from data/Templates/Cda/Reference/CapabilityStatement/_Implementation_Custodian.liquid rename to data/Templates/Ccda/Reference/CapabilityStatement/_Implementation_Custodian.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Activity_OutcomeReference.liquid b/data/Templates/Ccda/Reference/CarePlan/_Activity_OutcomeReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Activity_OutcomeReference.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Activity_OutcomeReference.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Activity_Reference.liquid b/data/Templates/Ccda/Reference/CarePlan/_Activity_Reference.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Activity_Reference.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Activity_Reference.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Addresses.liquid b/data/Templates/Ccda/Reference/CarePlan/_Addresses.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Addresses.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Addresses.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Author.liquid b/data/Templates/Ccda/Reference/CarePlan/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Author.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Author.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_BasedOn.liquid b/data/Templates/Ccda/Reference/CarePlan/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_BasedOn.liquid rename to data/Templates/Ccda/Reference/CarePlan/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_CareTeam.liquid b/data/Templates/Ccda/Reference/CarePlan/_CareTeam.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_CareTeam.liquid rename to data/Templates/Ccda/Reference/CarePlan/_CareTeam.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Contributor.liquid b/data/Templates/Ccda/Reference/CarePlan/_Contributor.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Contributor.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Contributor.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Encounter.liquid b/data/Templates/Ccda/Reference/CarePlan/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Encounter.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Goal.liquid b/data/Templates/Ccda/Reference/CarePlan/_Goal.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Goal.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Goal.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_PartOf.liquid b/data/Templates/Ccda/Reference/CarePlan/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_PartOf.liquid rename to data/Templates/Ccda/Reference/CarePlan/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Replaces.liquid b/data/Templates/Ccda/Reference/CarePlan/_Replaces.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Replaces.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Replaces.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_Subject.liquid b/data/Templates/Ccda/Reference/CarePlan/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_Subject.liquid rename to data/Templates/Ccda/Reference/CarePlan/_Subject.liquid diff --git a/data/Templates/Cda/Reference/CarePlan/_SupportingInfo.liquid b/data/Templates/Ccda/Reference/CarePlan/_SupportingInfo.liquid similarity index 100% rename from data/Templates/Cda/Reference/CarePlan/_SupportingInfo.liquid rename to data/Templates/Ccda/Reference/CarePlan/_SupportingInfo.liquid diff --git a/data/Templates/Cda/Reference/CareTeam/_Encounter.liquid b/data/Templates/Ccda/Reference/CareTeam/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/CareTeam/_Encounter.liquid rename to data/Templates/Ccda/Reference/CareTeam/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/CareTeam/_ManagingOrganization.liquid b/data/Templates/Ccda/Reference/CareTeam/_ManagingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/CareTeam/_ManagingOrganization.liquid rename to data/Templates/Ccda/Reference/CareTeam/_ManagingOrganization.liquid diff --git a/data/Templates/Cda/Reference/CareTeam/_Participant_Member.liquid b/data/Templates/Ccda/Reference/CareTeam/_Participant_Member.liquid similarity index 100% rename from data/Templates/Cda/Reference/CareTeam/_Participant_Member.liquid rename to data/Templates/Ccda/Reference/CareTeam/_Participant_Member.liquid diff --git a/data/Templates/Cda/Reference/CareTeam/_Participant_OnBehalfOf.liquid b/data/Templates/Ccda/Reference/CareTeam/_Participant_OnBehalfOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/CareTeam/_Participant_OnBehalfOf.liquid rename to data/Templates/Ccda/Reference/CareTeam/_Participant_OnBehalfOf.liquid diff --git a/data/Templates/Cda/Reference/CareTeam/_ReasonReference.liquid b/data/Templates/Ccda/Reference/CareTeam/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/CareTeam/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/CareTeam/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/CareTeam/_Subject.liquid b/data/Templates/Ccda/Reference/CareTeam/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/CareTeam/_Subject.liquid rename to data/Templates/Ccda/Reference/CareTeam/_Subject.liquid diff --git a/data/Templates/Cda/Reference/CatalogEntry/_ReferencedItem.liquid b/data/Templates/Ccda/Reference/CatalogEntry/_ReferencedItem.liquid similarity index 100% rename from data/Templates/Cda/Reference/CatalogEntry/_ReferencedItem.liquid rename to data/Templates/Ccda/Reference/CatalogEntry/_ReferencedItem.liquid diff --git a/data/Templates/Cda/Reference/CatalogEntry/_RelatedEntry_Item.liquid b/data/Templates/Ccda/Reference/CatalogEntry/_RelatedEntry_Item.liquid similarity index 100% rename from data/Templates/Cda/Reference/CatalogEntry/_RelatedEntry_Item.liquid rename to data/Templates/Ccda/Reference/CatalogEntry/_RelatedEntry_Item.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_Account.liquid b/data/Templates/Ccda/Reference/ChargeItem/_Account.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_Account.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_Account.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_Context.liquid b/data/Templates/Ccda/Reference/ChargeItem/_Context.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_Context.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_Context.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_CostCenter.liquid b/data/Templates/Ccda/Reference/ChargeItem/_CostCenter.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_CostCenter.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_CostCenter.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_Enterer.liquid b/data/Templates/Ccda/Reference/ChargeItem/_Enterer.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_Enterer.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_Enterer.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_PartOf.liquid b/data/Templates/Ccda/Reference/ChargeItem/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_PartOf.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_Performer_Actor.liquid b/data/Templates/Ccda/Reference/ChargeItem/_Performer_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_Performer_Actor.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_Performer_Actor.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_PerformingOrganization.liquid b/data/Templates/Ccda/Reference/ChargeItem/_PerformingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_PerformingOrganization.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_PerformingOrganization.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_ProductReference.liquid b/data/Templates/Ccda/Reference/ChargeItem/_ProductReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_ProductReference.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_ProductReference.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_RequestingOrganization.liquid b/data/Templates/Ccda/Reference/ChargeItem/_RequestingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_RequestingOrganization.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_RequestingOrganization.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_Service.liquid b/data/Templates/Ccda/Reference/ChargeItem/_Service.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_Service.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_Service.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_Subject.liquid b/data/Templates/Ccda/Reference/ChargeItem/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_Subject.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_Subject.liquid diff --git a/data/Templates/Cda/Reference/ChargeItem/_SupportingInformation.liquid b/data/Templates/Ccda/Reference/ChargeItem/_SupportingInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItem/_SupportingInformation.liquid rename to data/Templates/Ccda/Reference/ChargeItem/_SupportingInformation.liquid diff --git a/data/Templates/Cda/Reference/ChargeItemDefinition/_Instance.liquid b/data/Templates/Ccda/Reference/ChargeItemDefinition/_Instance.liquid similarity index 100% rename from data/Templates/Cda/Reference/ChargeItemDefinition/_Instance.liquid rename to data/Templates/Ccda/Reference/ChargeItemDefinition/_Instance.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Accident_LocationReference.liquid b/data/Templates/Ccda/Reference/Claim/_Accident_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Accident_LocationReference.liquid rename to data/Templates/Ccda/Reference/Claim/_Accident_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/Claim/_CareTeam_Provider.liquid b/data/Templates/Ccda/Reference/Claim/_CareTeam_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_CareTeam_Provider.liquid rename to data/Templates/Ccda/Reference/Claim/_CareTeam_Provider.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid b/data/Templates/Ccda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid rename to data/Templates/Ccda/Reference/Claim/_Diagnosis_DiagnosisReference.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Enterer.liquid b/data/Templates/Ccda/Reference/Claim/_Enterer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Enterer.liquid rename to data/Templates/Ccda/Reference/Claim/_Enterer.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Facility.liquid b/data/Templates/Ccda/Reference/Claim/_Facility.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Facility.liquid rename to data/Templates/Ccda/Reference/Claim/_Facility.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Insurance_ClaimResponse.liquid b/data/Templates/Ccda/Reference/Claim/_Insurance_ClaimResponse.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Insurance_ClaimResponse.liquid rename to data/Templates/Ccda/Reference/Claim/_Insurance_ClaimResponse.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Insurance_Coverage.liquid b/data/Templates/Ccda/Reference/Claim/_Insurance_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Insurance_Coverage.liquid rename to data/Templates/Ccda/Reference/Claim/_Insurance_Coverage.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Insurer.liquid b/data/Templates/Ccda/Reference/Claim/_Insurer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Insurer.liquid rename to data/Templates/Ccda/Reference/Claim/_Insurer.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Item_Encounter.liquid b/data/Templates/Ccda/Reference/Claim/_Item_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Item_Encounter.liquid rename to data/Templates/Ccda/Reference/Claim/_Item_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Item_LocationReference.liquid b/data/Templates/Ccda/Reference/Claim/_Item_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Item_LocationReference.liquid rename to data/Templates/Ccda/Reference/Claim/_Item_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Item_Udi.liquid b/data/Templates/Ccda/Reference/Claim/_Item_Udi.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Item_Udi.liquid rename to data/Templates/Ccda/Reference/Claim/_Item_Udi.liquid diff --git a/data/Templates/Cda/Reference/Claim/_OriginalPrescription.liquid b/data/Templates/Ccda/Reference/Claim/_OriginalPrescription.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_OriginalPrescription.liquid rename to data/Templates/Ccda/Reference/Claim/_OriginalPrescription.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Patient.liquid b/data/Templates/Ccda/Reference/Claim/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Patient.liquid rename to data/Templates/Ccda/Reference/Claim/_Patient.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Payee_Party.liquid b/data/Templates/Ccda/Reference/Claim/_Payee_Party.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Payee_Party.liquid rename to data/Templates/Ccda/Reference/Claim/_Payee_Party.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Prescription.liquid b/data/Templates/Ccda/Reference/Claim/_Prescription.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Prescription.liquid rename to data/Templates/Ccda/Reference/Claim/_Prescription.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Procedure_ProcedureReference.liquid b/data/Templates/Ccda/Reference/Claim/_Procedure_ProcedureReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Procedure_ProcedureReference.liquid rename to data/Templates/Ccda/Reference/Claim/_Procedure_ProcedureReference.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Procedure_Udi.liquid b/data/Templates/Ccda/Reference/Claim/_Procedure_Udi.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Procedure_Udi.liquid rename to data/Templates/Ccda/Reference/Claim/_Procedure_Udi.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Provider.liquid b/data/Templates/Ccda/Reference/Claim/_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Provider.liquid rename to data/Templates/Ccda/Reference/Claim/_Provider.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Referral.liquid b/data/Templates/Ccda/Reference/Claim/_Referral.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Referral.liquid rename to data/Templates/Ccda/Reference/Claim/_Referral.liquid diff --git a/data/Templates/Cda/Reference/Claim/_Related_Claim.liquid b/data/Templates/Ccda/Reference/Claim/_Related_Claim.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_Related_Claim.liquid rename to data/Templates/Ccda/Reference/Claim/_Related_Claim.liquid diff --git a/data/Templates/Cda/Reference/Claim/_SupportingInfo_ValueReference.liquid b/data/Templates/Ccda/Reference/Claim/_SupportingInfo_ValueReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Claim/_SupportingInfo_ValueReference.liquid rename to data/Templates/Ccda/Reference/Claim/_SupportingInfo_ValueReference.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_AddItem_LocationReference.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_AddItem_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_AddItem_LocationReference.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_AddItem_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_AddItem_Provider.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_AddItem_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_AddItem_Provider.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_AddItem_Provider.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_CommunicationRequest.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_CommunicationRequest.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_CommunicationRequest.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_CommunicationRequest.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_Insurance_ClaimResponse.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Insurance_Coverage.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_Insurance_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_Insurance_Coverage.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_Insurance_Coverage.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Insurer.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_Insurer.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_Insurer.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_Insurer.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Patient.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_Patient.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_Patient.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Request.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_Request.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_Request.liquid diff --git a/data/Templates/Cda/Reference/ClaimResponse/_Requestor.liquid b/data/Templates/Ccda/Reference/ClaimResponse/_Requestor.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClaimResponse/_Requestor.liquid rename to data/Templates/Ccda/Reference/ClaimResponse/_Requestor.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Assessor.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Assessor.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Assessor.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Assessor.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Encounter.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Encounter.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Finding_ItemReference.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Finding_ItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Finding_ItemReference.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Finding_ItemReference.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Investigation_Item.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Investigation_Item.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Investigation_Item.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Investigation_Item.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Previous.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Previous.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Previous.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Previous.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Problem.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Problem.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Problem.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Problem.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_PrognosisReference.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_PrognosisReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_PrognosisReference.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_PrognosisReference.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_Subject.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_Subject.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_Subject.liquid diff --git a/data/Templates/Cda/Reference/ClinicalImpression/_SupportingInfo.liquid b/data/Templates/Ccda/Reference/ClinicalImpression/_SupportingInfo.liquid similarity index 100% rename from data/Templates/Cda/Reference/ClinicalImpression/_SupportingInfo.liquid rename to data/Templates/Ccda/Reference/ClinicalImpression/_SupportingInfo.liquid diff --git a/data/Templates/Cda/Reference/Communication/_About.liquid b/data/Templates/Ccda/Reference/Communication/_About.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_About.liquid rename to data/Templates/Ccda/Reference/Communication/_About.liquid diff --git a/data/Templates/Cda/Reference/Communication/_BasedOn.liquid b/data/Templates/Ccda/Reference/Communication/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Communication/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Communication/_Encounter.liquid b/data/Templates/Ccda/Reference/Communication/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_Encounter.liquid rename to data/Templates/Ccda/Reference/Communication/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Communication/_InResponseTo.liquid b/data/Templates/Ccda/Reference/Communication/_InResponseTo.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_InResponseTo.liquid rename to data/Templates/Ccda/Reference/Communication/_InResponseTo.liquid diff --git a/data/Templates/Cda/Reference/Communication/_PartOf.liquid b/data/Templates/Ccda/Reference/Communication/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_PartOf.liquid rename to data/Templates/Ccda/Reference/Communication/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Communication/_Payload_ContentReference.liquid b/data/Templates/Ccda/Reference/Communication/_Payload_ContentReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_Payload_ContentReference.liquid rename to data/Templates/Ccda/Reference/Communication/_Payload_ContentReference.liquid diff --git a/data/Templates/Cda/Reference/Communication/_ReasonReference.liquid b/data/Templates/Ccda/Reference/Communication/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/Communication/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/Communication/_Recipient.liquid b/data/Templates/Ccda/Reference/Communication/_Recipient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_Recipient.liquid rename to data/Templates/Ccda/Reference/Communication/_Recipient.liquid diff --git a/data/Templates/Cda/Reference/Communication/_Sender.liquid b/data/Templates/Ccda/Reference/Communication/_Sender.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_Sender.liquid rename to data/Templates/Ccda/Reference/Communication/_Sender.liquid diff --git a/data/Templates/Cda/Reference/Communication/_Subject.liquid b/data/Templates/Ccda/Reference/Communication/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Communication/_Subject.liquid rename to data/Templates/Ccda/Reference/Communication/_Subject.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_About.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_About.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_About.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_About.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_BasedOn.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_BasedOn.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Encounter.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Encounter.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Payload_ContentReference.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Payload_ContentReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Payload_ContentReference.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Payload_ContentReference.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_ReasonReference.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Recipient.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Recipient.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Recipient.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Recipient.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Replaces.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Replaces.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Replaces.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Replaces.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Requester.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Requester.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Requester.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Requester.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Sender.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Sender.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Sender.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Sender.liquid diff --git a/data/Templates/Cda/Reference/CommunicationRequest/_Subject.liquid b/data/Templates/Ccda/Reference/CommunicationRequest/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/CommunicationRequest/_Subject.liquid rename to data/Templates/Ccda/Reference/CommunicationRequest/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Attester_Party.liquid b/data/Templates/Ccda/Reference/Composition/_Attester_Party.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Attester_Party.liquid rename to data/Templates/Ccda/Reference/Composition/_Attester_Party.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Author.liquid b/data/Templates/Ccda/Reference/Composition/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Author.liquid rename to data/Templates/Ccda/Reference/Composition/_Author.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Custodian.liquid b/data/Templates/Ccda/Reference/Composition/_Custodian.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Custodian.liquid rename to data/Templates/Ccda/Reference/Composition/_Custodian.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Encounter.liquid b/data/Templates/Ccda/Reference/Composition/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Encounter.liquid rename to data/Templates/Ccda/Reference/Composition/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Event_Detail.liquid b/data/Templates/Ccda/Reference/Composition/_Event_Detail.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Event_Detail.liquid rename to data/Templates/Ccda/Reference/Composition/_Event_Detail.liquid diff --git a/data/Templates/Cda/Reference/Composition/_RelatesTo_TargetReference.liquid b/data/Templates/Ccda/Reference/Composition/_RelatesTo_TargetReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_RelatesTo_TargetReference.liquid rename to data/Templates/Ccda/Reference/Composition/_RelatesTo_TargetReference.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Section_Author.liquid b/data/Templates/Ccda/Reference/Composition/_Section_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Section_Author.liquid rename to data/Templates/Ccda/Reference/Composition/_Section_Author.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Section_Entry.liquid b/data/Templates/Ccda/Reference/Composition/_Section_Entry.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Section_Entry.liquid rename to data/Templates/Ccda/Reference/Composition/_Section_Entry.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Section_Focus.liquid b/data/Templates/Ccda/Reference/Composition/_Section_Focus.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Section_Focus.liquid rename to data/Templates/Ccda/Reference/Composition/_Section_Focus.liquid diff --git a/data/Templates/Cda/Reference/Composition/_Subject.liquid b/data/Templates/Ccda/Reference/Composition/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Composition/_Subject.liquid rename to data/Templates/Ccda/Reference/Composition/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Condition/_Asserter.liquid b/data/Templates/Ccda/Reference/Condition/_Asserter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Condition/_Asserter.liquid rename to data/Templates/Ccda/Reference/Condition/_Asserter.liquid diff --git a/data/Templates/Cda/Reference/Condition/_Encounter.liquid b/data/Templates/Ccda/Reference/Condition/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Condition/_Encounter.liquid rename to data/Templates/Ccda/Reference/Condition/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Condition/_Evidence_Detail.liquid b/data/Templates/Ccda/Reference/Condition/_Evidence_Detail.liquid similarity index 100% rename from data/Templates/Cda/Reference/Condition/_Evidence_Detail.liquid rename to data/Templates/Ccda/Reference/Condition/_Evidence_Detail.liquid diff --git a/data/Templates/Cda/Reference/Condition/_Recorder.liquid b/data/Templates/Ccda/Reference/Condition/_Recorder.liquid similarity index 100% rename from data/Templates/Cda/Reference/Condition/_Recorder.liquid rename to data/Templates/Ccda/Reference/Condition/_Recorder.liquid diff --git a/data/Templates/Cda/Reference/Condition/_Stage_Assessment.liquid b/data/Templates/Ccda/Reference/Condition/_Stage_Assessment.liquid similarity index 100% rename from data/Templates/Cda/Reference/Condition/_Stage_Assessment.liquid rename to data/Templates/Ccda/Reference/Condition/_Stage_Assessment.liquid diff --git a/data/Templates/Cda/Reference/Condition/_Subject.liquid b/data/Templates/Ccda/Reference/Condition/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Condition/_Subject.liquid rename to data/Templates/Ccda/Reference/Condition/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Consent/_Organization.liquid b/data/Templates/Ccda/Reference/Consent/_Organization.liquid similarity index 100% rename from data/Templates/Cda/Reference/Consent/_Organization.liquid rename to data/Templates/Ccda/Reference/Consent/_Organization.liquid diff --git a/data/Templates/Cda/Reference/Consent/_Patient.liquid b/data/Templates/Ccda/Reference/Consent/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Consent/_Patient.liquid rename to data/Templates/Ccda/Reference/Consent/_Patient.liquid diff --git a/data/Templates/Cda/Reference/Consent/_Performer.liquid b/data/Templates/Ccda/Reference/Consent/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Consent/_Performer.liquid rename to data/Templates/Ccda/Reference/Consent/_Performer.liquid diff --git a/data/Templates/Cda/Reference/Consent/_SourceReference.liquid b/data/Templates/Ccda/Reference/Consent/_SourceReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Consent/_SourceReference.liquid rename to data/Templates/Ccda/Reference/Consent/_SourceReference.liquid diff --git a/data/Templates/Cda/Reference/Consent/_Verification_VerifiedWith.liquid b/data/Templates/Ccda/Reference/Consent/_Verification_VerifiedWith.liquid similarity index 100% rename from data/Templates/Cda/Reference/Consent/_Verification_VerifiedWith.liquid rename to data/Templates/Ccda/Reference/Consent/_Verification_VerifiedWith.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Author.liquid b/data/Templates/Ccda/Reference/Contract/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Author.liquid rename to data/Templates/Ccda/Reference/Contract/_Author.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Authority.liquid b/data/Templates/Ccda/Reference/Contract/_Authority.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Authority.liquid rename to data/Templates/Ccda/Reference/Contract/_Authority.liquid diff --git a/data/Templates/Cda/Reference/Contract/_ContentDefinition_Publisher.liquid b/data/Templates/Ccda/Reference/Contract/_ContentDefinition_Publisher.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_ContentDefinition_Publisher.liquid rename to data/Templates/Ccda/Reference/Contract/_ContentDefinition_Publisher.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Domain.liquid b/data/Templates/Ccda/Reference/Contract/_Domain.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Domain.liquid rename to data/Templates/Ccda/Reference/Contract/_Domain.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Friendly_ContentReference.liquid b/data/Templates/Ccda/Reference/Contract/_Friendly_ContentReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Friendly_ContentReference.liquid rename to data/Templates/Ccda/Reference/Contract/_Friendly_ContentReference.liquid diff --git a/data/Templates/Cda/Reference/Contract/_InstantiatesCanonical.liquid b/data/Templates/Ccda/Reference/Contract/_InstantiatesCanonical.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_InstantiatesCanonical.liquid rename to data/Templates/Ccda/Reference/Contract/_InstantiatesCanonical.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Legal_ContentReference.liquid b/data/Templates/Ccda/Reference/Contract/_Legal_ContentReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Legal_ContentReference.liquid rename to data/Templates/Ccda/Reference/Contract/_Legal_ContentReference.liquid diff --git a/data/Templates/Cda/Reference/Contract/_LegallyBindingReference.liquid b/data/Templates/Ccda/Reference/Contract/_LegallyBindingReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_LegallyBindingReference.liquid rename to data/Templates/Ccda/Reference/Contract/_LegallyBindingReference.liquid diff --git a/data/Templates/Cda/Reference/Contract/_RelevantHistory.liquid b/data/Templates/Ccda/Reference/Contract/_RelevantHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_RelevantHistory.liquid rename to data/Templates/Ccda/Reference/Contract/_RelevantHistory.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Rule_ContentReference.liquid b/data/Templates/Ccda/Reference/Contract/_Rule_ContentReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Rule_ContentReference.liquid rename to data/Templates/Ccda/Reference/Contract/_Rule_ContentReference.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Signer_Party.liquid b/data/Templates/Ccda/Reference/Contract/_Signer_Party.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Signer_Party.liquid rename to data/Templates/Ccda/Reference/Contract/_Signer_Party.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Site.liquid b/data/Templates/Ccda/Reference/Contract/_Site.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Site.liquid rename to data/Templates/Ccda/Reference/Contract/_Site.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Subject.liquid b/data/Templates/Ccda/Reference/Contract/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Subject.liquid rename to data/Templates/Ccda/Reference/Contract/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Contract/_SupportingInfo.liquid b/data/Templates/Ccda/Reference/Contract/_SupportingInfo.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_SupportingInfo.liquid rename to data/Templates/Ccda/Reference/Contract/_SupportingInfo.liquid diff --git a/data/Templates/Cda/Reference/Contract/_Term_TopicReference.liquid b/data/Templates/Ccda/Reference/Contract/_Term_TopicReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_Term_TopicReference.liquid rename to data/Templates/Ccda/Reference/Contract/_Term_TopicReference.liquid diff --git a/data/Templates/Cda/Reference/Contract/_TopicReference.liquid b/data/Templates/Ccda/Reference/Contract/_TopicReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Contract/_TopicReference.liquid rename to data/Templates/Ccda/Reference/Contract/_TopicReference.liquid diff --git a/data/Templates/Cda/Reference/Coverage/_Beneficiary.liquid b/data/Templates/Ccda/Reference/Coverage/_Beneficiary.liquid similarity index 100% rename from data/Templates/Cda/Reference/Coverage/_Beneficiary.liquid rename to data/Templates/Ccda/Reference/Coverage/_Beneficiary.liquid diff --git a/data/Templates/Cda/Reference/Coverage/_Contract.liquid b/data/Templates/Ccda/Reference/Coverage/_Contract.liquid similarity index 100% rename from data/Templates/Cda/Reference/Coverage/_Contract.liquid rename to data/Templates/Ccda/Reference/Coverage/_Contract.liquid diff --git a/data/Templates/Cda/Reference/Coverage/_Payor.liquid b/data/Templates/Ccda/Reference/Coverage/_Payor.liquid similarity index 100% rename from data/Templates/Cda/Reference/Coverage/_Payor.liquid rename to data/Templates/Ccda/Reference/Coverage/_Payor.liquid diff --git a/data/Templates/Cda/Reference/Coverage/_PolicyHolder.liquid b/data/Templates/Ccda/Reference/Coverage/_PolicyHolder.liquid similarity index 100% rename from data/Templates/Cda/Reference/Coverage/_PolicyHolder.liquid rename to data/Templates/Ccda/Reference/Coverage/_PolicyHolder.liquid diff --git a/data/Templates/Cda/Reference/Coverage/_Subscriber.liquid b/data/Templates/Ccda/Reference/Coverage/_Subscriber.liquid similarity index 100% rename from data/Templates/Cda/Reference/Coverage/_Subscriber.liquid rename to data/Templates/Ccda/Reference/Coverage/_Subscriber.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Enterer.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Enterer.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Enterer.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Enterer.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Facility.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Facility.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Facility.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Facility.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Insurance_Coverage.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurer.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Insurer.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Insurer.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Insurer.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Item_Detail.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Item_Facility.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Item_Provider.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Patient.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Patient.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Patient.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_Provider.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_Provider.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_Provider.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityRequest/_SupportingInfo_Information.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Insurance_Coverage.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurer.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Insurer.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityResponse/_Insurer.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Insurer.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Patient.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityResponse/_Patient.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Patient.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Request.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityResponse/_Request.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Request.liquid diff --git a/data/Templates/Cda/Reference/CoverageEligibilityResponse/_Requestor.liquid b/data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Requestor.liquid similarity index 100% rename from data/Templates/Cda/Reference/CoverageEligibilityResponse/_Requestor.liquid rename to data/Templates/Ccda/Reference/CoverageEligibilityResponse/_Requestor.liquid diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Author.liquid b/data/Templates/Ccda/Reference/DetectedIssue/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/DetectedIssue/_Author.liquid rename to data/Templates/Ccda/Reference/DetectedIssue/_Author.liquid diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Evidence_Detail.liquid b/data/Templates/Ccda/Reference/DetectedIssue/_Evidence_Detail.liquid similarity index 100% rename from data/Templates/Cda/Reference/DetectedIssue/_Evidence_Detail.liquid rename to data/Templates/Ccda/Reference/DetectedIssue/_Evidence_Detail.liquid diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Implicated.liquid b/data/Templates/Ccda/Reference/DetectedIssue/_Implicated.liquid similarity index 100% rename from data/Templates/Cda/Reference/DetectedIssue/_Implicated.liquid rename to data/Templates/Ccda/Reference/DetectedIssue/_Implicated.liquid diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Mitigation_Author.liquid b/data/Templates/Ccda/Reference/DetectedIssue/_Mitigation_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/DetectedIssue/_Mitigation_Author.liquid rename to data/Templates/Ccda/Reference/DetectedIssue/_Mitigation_Author.liquid diff --git a/data/Templates/Cda/Reference/DetectedIssue/_Patient.liquid b/data/Templates/Ccda/Reference/DetectedIssue/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/DetectedIssue/_Patient.liquid rename to data/Templates/Ccda/Reference/DetectedIssue/_Patient.liquid diff --git a/data/Templates/Cda/Reference/Device/_Definition.liquid b/data/Templates/Ccda/Reference/Device/_Definition.liquid similarity index 100% rename from data/Templates/Cda/Reference/Device/_Definition.liquid rename to data/Templates/Ccda/Reference/Device/_Definition.liquid diff --git a/data/Templates/Cda/Reference/Device/_Location.liquid b/data/Templates/Ccda/Reference/Device/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/Device/_Location.liquid rename to data/Templates/Ccda/Reference/Device/_Location.liquid diff --git a/data/Templates/Cda/Reference/Device/_Owner.liquid b/data/Templates/Ccda/Reference/Device/_Owner.liquid similarity index 100% rename from data/Templates/Cda/Reference/Device/_Owner.liquid rename to data/Templates/Ccda/Reference/Device/_Owner.liquid diff --git a/data/Templates/Cda/Reference/Device/_Parent.liquid b/data/Templates/Ccda/Reference/Device/_Parent.liquid similarity index 100% rename from data/Templates/Cda/Reference/Device/_Parent.liquid rename to data/Templates/Ccda/Reference/Device/_Parent.liquid diff --git a/data/Templates/Cda/Reference/Device/_Patient.liquid b/data/Templates/Ccda/Reference/Device/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Device/_Patient.liquid rename to data/Templates/Ccda/Reference/Device/_Patient.liquid diff --git a/data/Templates/Cda/Reference/DeviceDefinition/_ManufacturerReference.liquid b/data/Templates/Ccda/Reference/DeviceDefinition/_ManufacturerReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceDefinition/_ManufacturerReference.liquid rename to data/Templates/Ccda/Reference/DeviceDefinition/_ManufacturerReference.liquid diff --git a/data/Templates/Cda/Reference/DeviceDefinition/_Owner.liquid b/data/Templates/Ccda/Reference/DeviceDefinition/_Owner.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceDefinition/_Owner.liquid rename to data/Templates/Ccda/Reference/DeviceDefinition/_Owner.liquid diff --git a/data/Templates/Cda/Reference/DeviceDefinition/_ParentDevice.liquid b/data/Templates/Ccda/Reference/DeviceDefinition/_ParentDevice.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceDefinition/_ParentDevice.liquid rename to data/Templates/Ccda/Reference/DeviceDefinition/_ParentDevice.liquid diff --git a/data/Templates/Cda/Reference/DeviceMetric/_Parent.liquid b/data/Templates/Ccda/Reference/DeviceMetric/_Parent.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceMetric/_Parent.liquid rename to data/Templates/Ccda/Reference/DeviceMetric/_Parent.liquid diff --git a/data/Templates/Cda/Reference/DeviceMetric/_Source.liquid b/data/Templates/Ccda/Reference/DeviceMetric/_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceMetric/_Source.liquid rename to data/Templates/Ccda/Reference/DeviceMetric/_Source.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_BasedOn.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_BasedOn.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_CodeReference.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_CodeReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_CodeReference.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_CodeReference.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Encounter.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_Encounter.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Insurance.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_Insurance.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_Insurance.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_Insurance.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Performer.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_Performer.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_Performer.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_PriorRequest.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_PriorRequest.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_PriorRequest.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_PriorRequest.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_ReasonReference.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_RelevantHistory.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_RelevantHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_RelevantHistory.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_RelevantHistory.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Requester.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_Requester.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_Requester.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_Requester.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_Subject.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_Subject.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_Subject.liquid diff --git a/data/Templates/Cda/Reference/DeviceRequest/_SupportingInfo.liquid b/data/Templates/Ccda/Reference/DeviceRequest/_SupportingInfo.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceRequest/_SupportingInfo.liquid rename to data/Templates/Ccda/Reference/DeviceRequest/_SupportingInfo.liquid diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_BasedOn.liquid b/data/Templates/Ccda/Reference/DeviceUseStatement/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceUseStatement/_BasedOn.liquid rename to data/Templates/Ccda/Reference/DeviceUseStatement/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_DerivedFrom.liquid b/data/Templates/Ccda/Reference/DeviceUseStatement/_DerivedFrom.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceUseStatement/_DerivedFrom.liquid rename to data/Templates/Ccda/Reference/DeviceUseStatement/_DerivedFrom.liquid diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_Device.liquid b/data/Templates/Ccda/Reference/DeviceUseStatement/_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceUseStatement/_Device.liquid rename to data/Templates/Ccda/Reference/DeviceUseStatement/_Device.liquid diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_ReasonReference.liquid b/data/Templates/Ccda/Reference/DeviceUseStatement/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceUseStatement/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/DeviceUseStatement/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_Source.liquid b/data/Templates/Ccda/Reference/DeviceUseStatement/_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceUseStatement/_Source.liquid rename to data/Templates/Ccda/Reference/DeviceUseStatement/_Source.liquid diff --git a/data/Templates/Cda/Reference/DeviceUseStatement/_Subject.liquid b/data/Templates/Ccda/Reference/DeviceUseStatement/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/DeviceUseStatement/_Subject.liquid rename to data/Templates/Ccda/Reference/DeviceUseStatement/_Subject.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_BasedOn.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_BasedOn.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Encounter.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_Encounter.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_ImagingStudy.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_ImagingStudy.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_ImagingStudy.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_ImagingStudy.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Media_Link.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_Media_Link.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_Media_Link.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_Media_Link.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Performer.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_Performer.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_Performer.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Result.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_Result.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_Result.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_Result.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_ResultsInterpreter.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_ResultsInterpreter.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_ResultsInterpreter.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_ResultsInterpreter.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Specimen.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_Specimen.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_Specimen.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_Specimen.liquid diff --git a/data/Templates/Cda/Reference/DiagnosticReport/_Subject.liquid b/data/Templates/Ccda/Reference/DiagnosticReport/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/DiagnosticReport/_Subject.liquid rename to data/Templates/Ccda/Reference/DiagnosticReport/_Subject.liquid diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Author.liquid b/data/Templates/Ccda/Reference/DocumentManifest/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentManifest/_Author.liquid rename to data/Templates/Ccda/Reference/DocumentManifest/_Author.liquid diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Content.liquid b/data/Templates/Ccda/Reference/DocumentManifest/_Content.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentManifest/_Content.liquid rename to data/Templates/Ccda/Reference/DocumentManifest/_Content.liquid diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Recipient.liquid b/data/Templates/Ccda/Reference/DocumentManifest/_Recipient.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentManifest/_Recipient.liquid rename to data/Templates/Ccda/Reference/DocumentManifest/_Recipient.liquid diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Related_Ref.liquid b/data/Templates/Ccda/Reference/DocumentManifest/_Related_Ref.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentManifest/_Related_Ref.liquid rename to data/Templates/Ccda/Reference/DocumentManifest/_Related_Ref.liquid diff --git a/data/Templates/Cda/Reference/DocumentManifest/_Subject.liquid b/data/Templates/Ccda/Reference/DocumentManifest/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentManifest/_Subject.liquid rename to data/Templates/Ccda/Reference/DocumentManifest/_Subject.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Authenticator.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Authenticator.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Authenticator.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Authenticator.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Author.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Author.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Author.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Context_Encounter.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Context_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Context_Encounter.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Context_Encounter.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Context_Related.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Context_Related.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Context_Related.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Context_Related.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Context_SourcePatientInfo.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Custodian.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Custodian.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Custodian.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Custodian.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_RelatesTo_Target.liquid b/data/Templates/Ccda/Reference/DocumentReference/_RelatesTo_Target.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_RelatesTo_Target.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_RelatesTo_Target.liquid diff --git a/data/Templates/Cda/Reference/DocumentReference/_Subject.liquid b/data/Templates/Ccda/Reference/DocumentReference/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/DocumentReference/_Subject.liquid rename to data/Templates/Ccda/Reference/DocumentReference/_Subject.liquid diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Exposure.liquid b/data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_Exposure.liquid similarity index 100% rename from data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Exposure.liquid rename to data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_Exposure.liquid diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid b/data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid similarity index 100% rename from data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid rename to data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_ExposureAlternative.liquid diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Outcome.liquid b/data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_Outcome.liquid similarity index 100% rename from data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Outcome.liquid rename to data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_Outcome.liquid diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Population.liquid b/data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_Population.liquid similarity index 100% rename from data/Templates/Cda/Reference/EffectEvidenceSynthesis/_Population.liquid rename to data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_Population.liquid diff --git a/data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid b/data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid similarity index 100% rename from data/Templates/Cda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid rename to data/Templates/Ccda/Reference/EffectEvidenceSynthesis/_ResultsByExposure_RiskEvidenceSynthesis.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Account.liquid b/data/Templates/Ccda/Reference/Encounter/_Account.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Account.liquid rename to data/Templates/Ccda/Reference/Encounter/_Account.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Appointment.liquid b/data/Templates/Ccda/Reference/Encounter/_Appointment.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Appointment.liquid rename to data/Templates/Ccda/Reference/Encounter/_Appointment.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_BasedOn.liquid b/data/Templates/Ccda/Reference/Encounter/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Encounter/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Diagnosis_Condition.liquid b/data/Templates/Ccda/Reference/Encounter/_Diagnosis_Condition.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Diagnosis_Condition.liquid rename to data/Templates/Ccda/Reference/Encounter/_Diagnosis_Condition.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_EpisodeOfCare.liquid b/data/Templates/Ccda/Reference/Encounter/_EpisodeOfCare.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_EpisodeOfCare.liquid rename to data/Templates/Ccda/Reference/Encounter/_EpisodeOfCare.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Hospitalization_Destination.liquid b/data/Templates/Ccda/Reference/Encounter/_Hospitalization_Destination.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Hospitalization_Destination.liquid rename to data/Templates/Ccda/Reference/Encounter/_Hospitalization_Destination.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Hospitalization_Origin.liquid b/data/Templates/Ccda/Reference/Encounter/_Hospitalization_Origin.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Hospitalization_Origin.liquid rename to data/Templates/Ccda/Reference/Encounter/_Hospitalization_Origin.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Location_Location.liquid b/data/Templates/Ccda/Reference/Encounter/_Location_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Location_Location.liquid rename to data/Templates/Ccda/Reference/Encounter/_Location_Location.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_PartOf.liquid b/data/Templates/Ccda/Reference/Encounter/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_PartOf.liquid rename to data/Templates/Ccda/Reference/Encounter/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Participant_Individual.liquid b/data/Templates/Ccda/Reference/Encounter/_Participant_Individual.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Participant_Individual.liquid rename to data/Templates/Ccda/Reference/Encounter/_Participant_Individual.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_ReasonReference.liquid b/data/Templates/Ccda/Reference/Encounter/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/Encounter/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_ServiceProvider.liquid b/data/Templates/Ccda/Reference/Encounter/_ServiceProvider.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_ServiceProvider.liquid rename to data/Templates/Ccda/Reference/Encounter/_ServiceProvider.liquid diff --git a/data/Templates/Cda/Reference/Encounter/_Subject.liquid b/data/Templates/Ccda/Reference/Encounter/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Encounter/_Subject.liquid rename to data/Templates/Ccda/Reference/Encounter/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Endpoint/_ManagingOrganization.liquid b/data/Templates/Ccda/Reference/Endpoint/_ManagingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/Endpoint/_ManagingOrganization.liquid rename to data/Templates/Ccda/Reference/Endpoint/_ManagingOrganization.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Candidate.liquid b/data/Templates/Ccda/Reference/EnrollmentRequest/_Candidate.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentRequest/_Candidate.liquid rename to data/Templates/Ccda/Reference/EnrollmentRequest/_Candidate.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Coverage.liquid b/data/Templates/Ccda/Reference/EnrollmentRequest/_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentRequest/_Coverage.liquid rename to data/Templates/Ccda/Reference/EnrollmentRequest/_Coverage.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Insurer.liquid b/data/Templates/Ccda/Reference/EnrollmentRequest/_Insurer.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentRequest/_Insurer.liquid rename to data/Templates/Ccda/Reference/EnrollmentRequest/_Insurer.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentRequest/_Provider.liquid b/data/Templates/Ccda/Reference/EnrollmentRequest/_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentRequest/_Provider.liquid rename to data/Templates/Ccda/Reference/EnrollmentRequest/_Provider.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentResponse/_Organization.liquid b/data/Templates/Ccda/Reference/EnrollmentResponse/_Organization.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentResponse/_Organization.liquid rename to data/Templates/Ccda/Reference/EnrollmentResponse/_Organization.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentResponse/_Request.liquid b/data/Templates/Ccda/Reference/EnrollmentResponse/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentResponse/_Request.liquid rename to data/Templates/Ccda/Reference/EnrollmentResponse/_Request.liquid diff --git a/data/Templates/Cda/Reference/EnrollmentResponse/_RequestProvider.liquid b/data/Templates/Ccda/Reference/EnrollmentResponse/_RequestProvider.liquid similarity index 100% rename from data/Templates/Cda/Reference/EnrollmentResponse/_RequestProvider.liquid rename to data/Templates/Ccda/Reference/EnrollmentResponse/_RequestProvider.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Account.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_Account.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_Account.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_Account.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_CareManager.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_CareManager.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_CareManager.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_CareManager.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_Diagnosis_Condition.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_ManagingOrganization.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_ManagingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_ManagingOrganization.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_ManagingOrganization.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Patient.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_Patient.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_Patient.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_ReferralRequest.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_ReferralRequest.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_ReferralRequest.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_ReferralRequest.liquid diff --git a/data/Templates/Cda/Reference/EpisodeOfCare/_Team.liquid b/data/Templates/Ccda/Reference/EpisodeOfCare/_Team.liquid similarity index 100% rename from data/Templates/Cda/Reference/EpisodeOfCare/_Team.liquid rename to data/Templates/Ccda/Reference/EpisodeOfCare/_Team.liquid diff --git a/data/Templates/Cda/Reference/EventDefinition/_SubjectReference.liquid b/data/Templates/Ccda/Reference/EventDefinition/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/EventDefinition/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/EventDefinition/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/Evidence/_ExposureBackground.liquid b/data/Templates/Ccda/Reference/Evidence/_ExposureBackground.liquid similarity index 100% rename from data/Templates/Cda/Reference/Evidence/_ExposureBackground.liquid rename to data/Templates/Ccda/Reference/Evidence/_ExposureBackground.liquid diff --git a/data/Templates/Cda/Reference/Evidence/_ExposureVariant.liquid b/data/Templates/Ccda/Reference/Evidence/_ExposureVariant.liquid similarity index 100% rename from data/Templates/Cda/Reference/Evidence/_ExposureVariant.liquid rename to data/Templates/Ccda/Reference/Evidence/_ExposureVariant.liquid diff --git a/data/Templates/Cda/Reference/Evidence/_Outcome.liquid b/data/Templates/Ccda/Reference/Evidence/_Outcome.liquid similarity index 100% rename from data/Templates/Cda/Reference/Evidence/_Outcome.liquid rename to data/Templates/Ccda/Reference/Evidence/_Outcome.liquid diff --git a/data/Templates/Cda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid b/data/Templates/Ccda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid rename to data/Templates/Ccda/Reference/EvidenceVariable/_Characteristic_DefinitionReference.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Accident_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_AddItem_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_AddItem_Provider.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_CareTeam_Provider.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Claim.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Claim.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Claim.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Claim.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_ClaimResponse.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Diagnosis_DiagnosisReference.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Enterer.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Enterer.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Enterer.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Enterer.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Facility.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Facility.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Facility.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Facility.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Insurance_Coverage.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurer.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Insurer.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Insurer.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Insurer.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Item_Encounter.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Item_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Udi.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Item_Udi.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Item_Udi.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Item_Udi.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_OriginalPrescription.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Patient.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Patient.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Patient.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Payee_Party.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Payee_Party.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Payee_Party.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Payee_Party.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Prescription.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Prescription.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Prescription.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Prescription.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Procedure_ProcedureReference.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Procedure_Udi.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Provider.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Provider.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Provider.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Referral.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Referral.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Referral.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Referral.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_Related_Claim.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_Related_Claim.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_Related_Claim.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_Related_Claim.liquid diff --git a/data/Templates/Cda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid b/data/Templates/Ccda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid rename to data/Templates/Ccda/Reference/ExplanationOfBenefit/_SupportingInfo_ValueReference.liquid diff --git a/data/Templates/Cda/Reference/FamilyMemberHistory/_Patient.liquid b/data/Templates/Ccda/Reference/FamilyMemberHistory/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/FamilyMemberHistory/_Patient.liquid rename to data/Templates/Ccda/Reference/FamilyMemberHistory/_Patient.liquid diff --git a/data/Templates/Cda/Reference/FamilyMemberHistory/_ReasonReference.liquid b/data/Templates/Ccda/Reference/FamilyMemberHistory/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/FamilyMemberHistory/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/FamilyMemberHistory/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/Flag/_Author.liquid b/data/Templates/Ccda/Reference/Flag/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/Flag/_Author.liquid rename to data/Templates/Ccda/Reference/Flag/_Author.liquid diff --git a/data/Templates/Cda/Reference/Flag/_Encounter.liquid b/data/Templates/Ccda/Reference/Flag/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Flag/_Encounter.liquid rename to data/Templates/Ccda/Reference/Flag/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Flag/_Subject.liquid b/data/Templates/Ccda/Reference/Flag/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Flag/_Subject.liquid rename to data/Templates/Ccda/Reference/Flag/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Goal/_Addresses.liquid b/data/Templates/Ccda/Reference/Goal/_Addresses.liquid similarity index 100% rename from data/Templates/Cda/Reference/Goal/_Addresses.liquid rename to data/Templates/Ccda/Reference/Goal/_Addresses.liquid diff --git a/data/Templates/Cda/Reference/Goal/_ExpressedBy.liquid b/data/Templates/Ccda/Reference/Goal/_ExpressedBy.liquid similarity index 100% rename from data/Templates/Cda/Reference/Goal/_ExpressedBy.liquid rename to data/Templates/Ccda/Reference/Goal/_ExpressedBy.liquid diff --git a/data/Templates/Cda/Reference/Goal/_OutcomeReference.liquid b/data/Templates/Ccda/Reference/Goal/_OutcomeReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Goal/_OutcomeReference.liquid rename to data/Templates/Ccda/Reference/Goal/_OutcomeReference.liquid diff --git a/data/Templates/Cda/Reference/Goal/_Subject.liquid b/data/Templates/Ccda/Reference/Goal/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Goal/_Subject.liquid rename to data/Templates/Ccda/Reference/Goal/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Group/_Characteristic_ValueReference.liquid b/data/Templates/Ccda/Reference/Group/_Characteristic_ValueReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Group/_Characteristic_ValueReference.liquid rename to data/Templates/Ccda/Reference/Group/_Characteristic_ValueReference.liquid diff --git a/data/Templates/Cda/Reference/Group/_ManagingEntity.liquid b/data/Templates/Ccda/Reference/Group/_ManagingEntity.liquid similarity index 100% rename from data/Templates/Cda/Reference/Group/_ManagingEntity.liquid rename to data/Templates/Ccda/Reference/Group/_ManagingEntity.liquid diff --git a/data/Templates/Cda/Reference/Group/_Member_Entity.liquid b/data/Templates/Ccda/Reference/Group/_Member_Entity.liquid similarity index 100% rename from data/Templates/Cda/Reference/Group/_Member_Entity.liquid rename to data/Templates/Ccda/Reference/Group/_Member_Entity.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Encounter.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_Encounter.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_EvaluationMessage.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_EvaluationMessage.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_EvaluationMessage.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_EvaluationMessage.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_OutputParameters.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_OutputParameters.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_OutputParameters.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_OutputParameters.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Performer.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_Performer.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_Performer.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_ReasonReference.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Result.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_Result.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_Result.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_Result.liquid diff --git a/data/Templates/Cda/Reference/GuidanceResponse/_Subject.liquid b/data/Templates/Ccda/Reference/GuidanceResponse/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/GuidanceResponse/_Subject.liquid rename to data/Templates/Ccda/Reference/GuidanceResponse/_Subject.liquid diff --git a/data/Templates/Cda/Reference/HealthcareService/_CoverageArea.liquid b/data/Templates/Ccda/Reference/HealthcareService/_CoverageArea.liquid similarity index 100% rename from data/Templates/Cda/Reference/HealthcareService/_CoverageArea.liquid rename to data/Templates/Ccda/Reference/HealthcareService/_CoverageArea.liquid diff --git a/data/Templates/Cda/Reference/HealthcareService/_Endpoint.liquid b/data/Templates/Ccda/Reference/HealthcareService/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/HealthcareService/_Endpoint.liquid rename to data/Templates/Ccda/Reference/HealthcareService/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/HealthcareService/_Location.liquid b/data/Templates/Ccda/Reference/HealthcareService/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/HealthcareService/_Location.liquid rename to data/Templates/Ccda/Reference/HealthcareService/_Location.liquid diff --git a/data/Templates/Cda/Reference/HealthcareService/_ProvidedBy.liquid b/data/Templates/Ccda/Reference/HealthcareService/_ProvidedBy.liquid similarity index 100% rename from data/Templates/Cda/Reference/HealthcareService/_ProvidedBy.liquid rename to data/Templates/Ccda/Reference/HealthcareService/_ProvidedBy.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_BasedOn.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_BasedOn.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Encounter.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Encounter.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Endpoint.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Endpoint.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Interpreter.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Interpreter.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Interpreter.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Interpreter.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Location.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Location.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Location.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_ProcedureReference.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_ProcedureReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_ProcedureReference.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_ProcedureReference.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_ReasonReference.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Referrer.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Referrer.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Referrer.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Referrer.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Series_Endpoint.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Series_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Series_Endpoint.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Series_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Series_Specimen.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Series_Specimen.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Series_Specimen.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Series_Specimen.liquid diff --git a/data/Templates/Cda/Reference/ImagingStudy/_Subject.liquid b/data/Templates/Ccda/Reference/ImagingStudy/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImagingStudy/_Subject.liquid rename to data/Templates/Ccda/Reference/ImagingStudy/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_Encounter.liquid b/data/Templates/Ccda/Reference/Immunization/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_Encounter.liquid rename to data/Templates/Ccda/Reference/Immunization/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_Location.liquid b/data/Templates/Ccda/Reference/Immunization/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_Location.liquid rename to data/Templates/Ccda/Reference/Immunization/_Location.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_Manufacturer.liquid b/data/Templates/Ccda/Reference/Immunization/_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_Manufacturer.liquid rename to data/Templates/Ccda/Reference/Immunization/_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_Patient.liquid b/data/Templates/Ccda/Reference/Immunization/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_Patient.liquid rename to data/Templates/Ccda/Reference/Immunization/_Patient.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_Performer_Actor.liquid b/data/Templates/Ccda/Reference/Immunization/_Performer_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_Performer_Actor.liquid rename to data/Templates/Ccda/Reference/Immunization/_Performer_Actor.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_ProtocolApplied_Authority.liquid b/data/Templates/Ccda/Reference/Immunization/_ProtocolApplied_Authority.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_ProtocolApplied_Authority.liquid rename to data/Templates/Ccda/Reference/Immunization/_ProtocolApplied_Authority.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_Reaction_Detail.liquid b/data/Templates/Ccda/Reference/Immunization/_Reaction_Detail.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_Reaction_Detail.liquid rename to data/Templates/Ccda/Reference/Immunization/_Reaction_Detail.liquid diff --git a/data/Templates/Cda/Reference/Immunization/_ReasonReference.liquid b/data/Templates/Ccda/Reference/Immunization/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Immunization/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/Immunization/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationEvaluation/_Authority.liquid b/data/Templates/Ccda/Reference/ImmunizationEvaluation/_Authority.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationEvaluation/_Authority.liquid rename to data/Templates/Ccda/Reference/ImmunizationEvaluation/_Authority.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid b/data/Templates/Ccda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid rename to data/Templates/Ccda/Reference/ImmunizationEvaluation/_ImmunizationEvent.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationEvaluation/_Patient.liquid b/data/Templates/Ccda/Reference/ImmunizationEvaluation/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationEvaluation/_Patient.liquid rename to data/Templates/Ccda/Reference/ImmunizationEvaluation/_Patient.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Authority.liquid b/data/Templates/Ccda/Reference/ImmunizationRecommendation/_Authority.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationRecommendation/_Authority.liquid rename to data/Templates/Ccda/Reference/ImmunizationRecommendation/_Authority.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Patient.liquid b/data/Templates/Ccda/Reference/ImmunizationRecommendation/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationRecommendation/_Patient.liquid rename to data/Templates/Ccda/Reference/ImmunizationRecommendation/_Patient.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid b/data/Templates/Ccda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid rename to data/Templates/Ccda/Reference/ImmunizationRecommendation/_Recommendation_SupportingImmunization.liquid diff --git a/data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid b/data/Templates/Ccda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid rename to data/Templates/Ccda/Reference/ImmunizationRecommendation/_Recommendation_SupportingPatientInformation.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_AdministeredBy.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_AdministeredBy.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_AdministeredBy.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_AdministeredBy.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_CoverageArea.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_CoverageArea.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_CoverageArea.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_CoverageArea.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Coverage_Network.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_Coverage_Network.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_Coverage_Network.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_Coverage_Network.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Endpoint.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_Endpoint.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Network.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_Network.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_Network.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_Network.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_OwnedBy.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_OwnedBy.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_OwnedBy.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_OwnedBy.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Plan_CoverageArea.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_Plan_CoverageArea.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_Plan_CoverageArea.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_Plan_CoverageArea.liquid diff --git a/data/Templates/Cda/Reference/InsurancePlan/_Plan_Network.liquid b/data/Templates/Ccda/Reference/InsurancePlan/_Plan_Network.liquid similarity index 100% rename from data/Templates/Cda/Reference/InsurancePlan/_Plan_Network.liquid rename to data/Templates/Ccda/Reference/InsurancePlan/_Plan_Network.liquid diff --git a/data/Templates/Cda/Reference/Invoice/_Account.liquid b/data/Templates/Ccda/Reference/Invoice/_Account.liquid similarity index 100% rename from data/Templates/Cda/Reference/Invoice/_Account.liquid rename to data/Templates/Ccda/Reference/Invoice/_Account.liquid diff --git a/data/Templates/Cda/Reference/Invoice/_Issuer.liquid b/data/Templates/Ccda/Reference/Invoice/_Issuer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Invoice/_Issuer.liquid rename to data/Templates/Ccda/Reference/Invoice/_Issuer.liquid diff --git a/data/Templates/Cda/Reference/Invoice/_LineItem_ChargeItemReference.liquid b/data/Templates/Ccda/Reference/Invoice/_LineItem_ChargeItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Invoice/_LineItem_ChargeItemReference.liquid rename to data/Templates/Ccda/Reference/Invoice/_LineItem_ChargeItemReference.liquid diff --git a/data/Templates/Cda/Reference/Invoice/_Participant_Actor.liquid b/data/Templates/Ccda/Reference/Invoice/_Participant_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/Invoice/_Participant_Actor.liquid rename to data/Templates/Ccda/Reference/Invoice/_Participant_Actor.liquid diff --git a/data/Templates/Cda/Reference/Invoice/_Recipient.liquid b/data/Templates/Ccda/Reference/Invoice/_Recipient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Invoice/_Recipient.liquid rename to data/Templates/Ccda/Reference/Invoice/_Recipient.liquid diff --git a/data/Templates/Cda/Reference/Invoice/_Subject.liquid b/data/Templates/Ccda/Reference/Invoice/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Invoice/_Subject.liquid rename to data/Templates/Ccda/Reference/Invoice/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Library/_SubjectReference.liquid b/data/Templates/Ccda/Reference/Library/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Library/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/Library/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/Linkage/_Author.liquid b/data/Templates/Ccda/Reference/Linkage/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/Linkage/_Author.liquid rename to data/Templates/Ccda/Reference/Linkage/_Author.liquid diff --git a/data/Templates/Cda/Reference/Linkage/_Item_Resource.liquid b/data/Templates/Ccda/Reference/Linkage/_Item_Resource.liquid similarity index 100% rename from data/Templates/Cda/Reference/Linkage/_Item_Resource.liquid rename to data/Templates/Ccda/Reference/Linkage/_Item_Resource.liquid diff --git a/data/Templates/Cda/Reference/List/_Encounter.liquid b/data/Templates/Ccda/Reference/List/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/List/_Encounter.liquid rename to data/Templates/Ccda/Reference/List/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/List/_Entry_Item.liquid b/data/Templates/Ccda/Reference/List/_Entry_Item.liquid similarity index 100% rename from data/Templates/Cda/Reference/List/_Entry_Item.liquid rename to data/Templates/Ccda/Reference/List/_Entry_Item.liquid diff --git a/data/Templates/Cda/Reference/List/_Source.liquid b/data/Templates/Ccda/Reference/List/_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/List/_Source.liquid rename to data/Templates/Ccda/Reference/List/_Source.liquid diff --git a/data/Templates/Cda/Reference/List/_Subject.liquid b/data/Templates/Ccda/Reference/List/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/List/_Subject.liquid rename to data/Templates/Ccda/Reference/List/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Location/_Endpoint.liquid b/data/Templates/Ccda/Reference/Location/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/Location/_Endpoint.liquid rename to data/Templates/Ccda/Reference/Location/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/Location/_ManagingOrganization.liquid b/data/Templates/Ccda/Reference/Location/_ManagingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/Location/_ManagingOrganization.liquid rename to data/Templates/Ccda/Reference/Location/_ManagingOrganization.liquid diff --git a/data/Templates/Cda/Reference/Location/_PartOf.liquid b/data/Templates/Ccda/Reference/Location/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Location/_PartOf.liquid rename to data/Templates/Ccda/Reference/Location/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Measure/_SubjectReference.liquid b/data/Templates/Ccda/Reference/Measure/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Measure/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/Measure/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/MeasureReport/_EvaluatedResource.liquid b/data/Templates/Ccda/Reference/MeasureReport/_EvaluatedResource.liquid similarity index 100% rename from data/Templates/Cda/Reference/MeasureReport/_EvaluatedResource.liquid rename to data/Templates/Ccda/Reference/MeasureReport/_EvaluatedResource.liquid diff --git a/data/Templates/Cda/Reference/MeasureReport/_Reporter.liquid b/data/Templates/Ccda/Reference/MeasureReport/_Reporter.liquid similarity index 100% rename from data/Templates/Cda/Reference/MeasureReport/_Reporter.liquid rename to data/Templates/Ccda/Reference/MeasureReport/_Reporter.liquid diff --git a/data/Templates/Cda/Reference/MeasureReport/_Subject.liquid b/data/Templates/Ccda/Reference/MeasureReport/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MeasureReport/_Subject.liquid rename to data/Templates/Ccda/Reference/MeasureReport/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Media/_BasedOn.liquid b/data/Templates/Ccda/Reference/Media/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Media/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Media/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Media/_Device.liquid b/data/Templates/Ccda/Reference/Media/_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/Media/_Device.liquid rename to data/Templates/Ccda/Reference/Media/_Device.liquid diff --git a/data/Templates/Cda/Reference/Media/_Encounter.liquid b/data/Templates/Ccda/Reference/Media/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Media/_Encounter.liquid rename to data/Templates/Ccda/Reference/Media/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Media/_Operator.liquid b/data/Templates/Ccda/Reference/Media/_Operator.liquid similarity index 100% rename from data/Templates/Cda/Reference/Media/_Operator.liquid rename to data/Templates/Ccda/Reference/Media/_Operator.liquid diff --git a/data/Templates/Cda/Reference/Media/_PartOf.liquid b/data/Templates/Ccda/Reference/Media/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Media/_PartOf.liquid rename to data/Templates/Ccda/Reference/Media/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Media/_Subject.liquid b/data/Templates/Ccda/Reference/Media/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Media/_Subject.liquid rename to data/Templates/Ccda/Reference/Media/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Medication/_Ingredient_ItemReference.liquid b/data/Templates/Ccda/Reference/Medication/_Ingredient_ItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Medication/_Ingredient_ItemReference.liquid rename to data/Templates/Ccda/Reference/Medication/_Ingredient_ItemReference.liquid diff --git a/data/Templates/Cda/Reference/Medication/_Manufacturer.liquid b/data/Templates/Ccda/Reference/Medication/_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Medication/_Manufacturer.liquid rename to data/Templates/Ccda/Reference/Medication/_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Context.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_Context.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_Context.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_Context.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Device.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_Device.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_Device.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_EventHistory.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_EventHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_EventHistory.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_EventHistory.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_MedicationReference.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_MedicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_MedicationReference.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_MedicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_PartOf.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_PartOf.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Performer_Actor.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_Performer_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_Performer_Actor.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_Performer_Actor.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_ReasonReference.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Request.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_Request.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_Request.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_Subject.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicationAdministration/_SupportingInformation.liquid b/data/Templates/Ccda/Reference/MedicationAdministration/_SupportingInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationAdministration/_SupportingInformation.liquid rename to data/Templates/Ccda/Reference/MedicationAdministration/_SupportingInformation.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_AuthorizingPrescription.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_AuthorizingPrescription.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_AuthorizingPrescription.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_AuthorizingPrescription.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Context.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Context.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Context.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Context.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Destination.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Destination.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Destination.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Destination.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_DetectedIssue.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_DetectedIssue.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_DetectedIssue.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_DetectedIssue.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_EventHistory.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_EventHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_EventHistory.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_EventHistory.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Location.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Location.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Location.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_MedicationReference.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_MedicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_MedicationReference.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_MedicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_PartOf.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_PartOf.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Performer_Actor.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Performer_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Performer_Actor.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Performer_Actor.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Receiver.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Receiver.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Receiver.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Receiver.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_StatusReasonReference.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_StatusReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_StatusReasonReference.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_StatusReasonReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Subject.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_Substitution_ResponsibleParty.liquid diff --git a/data/Templates/Cda/Reference/MedicationDispense/_SupportingInformation.liquid b/data/Templates/Ccda/Reference/MedicationDispense/_SupportingInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationDispense/_SupportingInformation.liquid rename to data/Templates/Ccda/Reference/MedicationDispense/_SupportingInformation.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_AdministrationGuidelines_IndicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_AssociatedMedication.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_AssociatedMedication.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_AssociatedMedication.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_AssociatedMedication.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Contraindication.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_Contraindication.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_Contraindication.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_Contraindication.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_Ingredient_ItemReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Manufacturer.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_Manufacturer.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Monograph_Source.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_Monograph_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_Monograph_Source.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_Monograph_Source.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_Regulatory_RegulatoryAuthority.liquid diff --git a/data/Templates/Cda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid b/data/Templates/Ccda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid rename to data/Templates/Ccda/Reference/MedicationKnowledge/_RelatedMedicationKnowledge_Reference.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_BasedOn.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_BasedOn.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_DetectedIssue.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_DetectedIssue.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_DetectedIssue.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_DetectedIssue.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_DispenseRequest_Performer.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Encounter.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_Encounter.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_EventHistory.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_EventHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_EventHistory.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_EventHistory.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Insurance.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_Insurance.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_Insurance.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_Insurance.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_MedicationReference.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_MedicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_MedicationReference.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_MedicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Performer.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_Performer.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_Performer.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_PriorPrescription.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_PriorPrescription.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_PriorPrescription.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_PriorPrescription.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_ReasonReference.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Recorder.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_Recorder.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_Recorder.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_Recorder.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_ReportedReference.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_ReportedReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_ReportedReference.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_ReportedReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Requester.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_Requester.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_Requester.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_Requester.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_Subject.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicationRequest/_SupportingInformation.liquid b/data/Templates/Ccda/Reference/MedicationRequest/_SupportingInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationRequest/_SupportingInformation.liquid rename to data/Templates/Ccda/Reference/MedicationRequest/_SupportingInformation.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_BasedOn.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_BasedOn.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_Context.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_Context.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_Context.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_Context.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_DerivedFrom.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_DerivedFrom.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_DerivedFrom.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_DerivedFrom.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_InformationSource.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_InformationSource.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_InformationSource.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_InformationSource.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_MedicationReference.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_MedicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_MedicationReference.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_MedicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_PartOf.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_PartOf.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_ReasonReference.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/MedicationStatement/_Subject.liquid b/data/Templates/Ccda/Reference/MedicationStatement/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicationStatement/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicationStatement/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_AttachedDocument.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_AttachedDocument.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_AttachedDocument.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_AttachedDocument.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_ClinicalTrial.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_ClinicalTrial.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_ClinicalTrial.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_ClinicalTrial.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_Contact.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_Contact.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_Contact.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_Contact.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_ManufacturingBusinessOperation_Regulator.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_MasterFile.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_MasterFile.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_MasterFile.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_MasterFile.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_PackagedMedicinalProduct.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_PharmaceuticalProduct.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid b/data/Templates/Ccda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid rename to data/Templates/Ccda/Reference/MedicinalProduct/_SpecialDesignation_IndicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Holder.liquid b/data/Templates/Ccda/Reference/MedicinalProductAuthorization/_Holder.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductAuthorization/_Holder.liquid rename to data/Templates/Ccda/Reference/MedicinalProductAuthorization/_Holder.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Regulator.liquid b/data/Templates/Ccda/Reference/MedicinalProductAuthorization/_Regulator.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductAuthorization/_Regulator.liquid rename to data/Templates/Ccda/Reference/MedicinalProductAuthorization/_Regulator.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductAuthorization/_Subject.liquid b/data/Templates/Ccda/Reference/MedicinalProductAuthorization/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductAuthorization/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicinalProductAuthorization/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid b/data/Templates/Ccda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid rename to data/Templates/Ccda/Reference/MedicinalProductContraindication/_OtherTherapy_MedicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductContraindication/_Subject.liquid b/data/Templates/Ccda/Reference/MedicinalProductContraindication/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductContraindication/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicinalProductContraindication/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid b/data/Templates/Ccda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid rename to data/Templates/Ccda/Reference/MedicinalProductContraindication/_TherapeuticIndication.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid b/data/Templates/Ccda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid rename to data/Templates/Ccda/Reference/MedicinalProductIndication/_OtherTherapy_MedicationReference.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductIndication/_Subject.liquid b/data/Templates/Ccda/Reference/MedicinalProductIndication/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductIndication/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicinalProductIndication/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid b/data/Templates/Ccda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid rename to data/Templates/Ccda/Reference/MedicinalProductIndication/_UndesirableEffect.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductIngredient/_Manufacturer.liquid b/data/Templates/Ccda/Reference/MedicinalProductIngredient/_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductIngredient/_Manufacturer.liquid rename to data/Templates/Ccda/Reference/MedicinalProductIngredient/_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid b/data/Templates/Ccda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid rename to data/Templates/Ccda/Reference/MedicinalProductInteraction/_Interactant_ItemReference.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductInteraction/_Subject.liquid b/data/Templates/Ccda/Reference/MedicinalProductInteraction/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductInteraction/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicinalProductInteraction/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductManufactured/_Ingredient.liquid b/data/Templates/Ccda/Reference/MedicinalProductManufactured/_Ingredient.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductManufactured/_Ingredient.liquid rename to data/Templates/Ccda/Reference/MedicinalProductManufactured/_Ingredient.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductManufactured/_Manufacturer.liquid b/data/Templates/Ccda/Reference/MedicinalProductManufactured/_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductManufactured/_Manufacturer.liquid rename to data/Templates/Ccda/Reference/MedicinalProductManufactured/_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_Manufacturer.liquid b/data/Templates/Ccda/Reference/MedicinalProductPackaged/_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPackaged/_Manufacturer.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPackaged/_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid b/data/Templates/Ccda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPackaged/_MarketingAuthorization.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid b/data/Templates/Ccda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPackaged/_PackageItem_Device.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid b/data/Templates/Ccda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPackaged/_PackageItem_ManufacturedItem.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid b/data/Templates/Ccda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPackaged/_PackageItem_Manufacturer.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPackaged/_Subject.liquid b/data/Templates/Ccda/Reference/MedicinalProductPackaged/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPackaged/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPackaged/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Device.liquid b/data/Templates/Ccda/Reference/MedicinalProductPharmaceutical/_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Device.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPharmaceutical/_Device.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid b/data/Templates/Ccda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid rename to data/Templates/Ccda/Reference/MedicinalProductPharmaceutical/_Ingredient.liquid diff --git a/data/Templates/Cda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid b/data/Templates/Ccda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid rename to data/Templates/Ccda/Reference/MedicinalProductUndesirableEffect/_Subject.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Author.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Author.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Author.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Destination_Receiver.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Destination_Receiver.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Destination_Receiver.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Destination_Receiver.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Destination_Target.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Destination_Target.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Destination_Target.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Destination_Target.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Enterer.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Enterer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Enterer.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Enterer.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Focus.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Focus.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Focus.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Focus.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Response_Details.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Response_Details.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Response_Details.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Response_Details.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Responsible.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Responsible.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Responsible.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Responsible.liquid diff --git a/data/Templates/Cda/Reference/MessageHeader/_Sender.liquid b/data/Templates/Ccda/Reference/MessageHeader/_Sender.liquid similarity index 100% rename from data/Templates/Cda/Reference/MessageHeader/_Sender.liquid rename to data/Templates/Ccda/Reference/MessageHeader/_Sender.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Device.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_Device.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_Device.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Patient.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_Patient.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_Patient.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Performer.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_Performer.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_Performer.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Pointer.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_Pointer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_Pointer.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_Pointer.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_ReferenceSeq_ReferenceSeqPointer.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Specimen.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_Specimen.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_Specimen.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_Specimen.liquid diff --git a/data/Templates/Cda/Reference/MolecularSequence/_Variant_VariantPointer.liquid b/data/Templates/Ccda/Reference/MolecularSequence/_Variant_VariantPointer.liquid similarity index 100% rename from data/Templates/Cda/Reference/MolecularSequence/_Variant_VariantPointer.liquid rename to data/Templates/Ccda/Reference/MolecularSequence/_Variant_VariantPointer.liquid diff --git a/data/Templates/Cda/Reference/NutritionOrder/_AllergyIntolerance.liquid b/data/Templates/Ccda/Reference/NutritionOrder/_AllergyIntolerance.liquid similarity index 100% rename from data/Templates/Cda/Reference/NutritionOrder/_AllergyIntolerance.liquid rename to data/Templates/Ccda/Reference/NutritionOrder/_AllergyIntolerance.liquid diff --git a/data/Templates/Cda/Reference/NutritionOrder/_Encounter.liquid b/data/Templates/Ccda/Reference/NutritionOrder/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/NutritionOrder/_Encounter.liquid rename to data/Templates/Ccda/Reference/NutritionOrder/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/NutritionOrder/_Orderer.liquid b/data/Templates/Ccda/Reference/NutritionOrder/_Orderer.liquid similarity index 100% rename from data/Templates/Cda/Reference/NutritionOrder/_Orderer.liquid rename to data/Templates/Ccda/Reference/NutritionOrder/_Orderer.liquid diff --git a/data/Templates/Cda/Reference/NutritionOrder/_Patient.liquid b/data/Templates/Ccda/Reference/NutritionOrder/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/NutritionOrder/_Patient.liquid rename to data/Templates/Ccda/Reference/NutritionOrder/_Patient.liquid diff --git a/data/Templates/Cda/Reference/Observation/_BasedOn.liquid b/data/Templates/Ccda/Reference/Observation/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Observation/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Observation/_DerivedFrom.liquid b/data/Templates/Ccda/Reference/Observation/_DerivedFrom.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_DerivedFrom.liquid rename to data/Templates/Ccda/Reference/Observation/_DerivedFrom.liquid diff --git a/data/Templates/Cda/Reference/Observation/_Device.liquid b/data/Templates/Ccda/Reference/Observation/_Device.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_Device.liquid rename to data/Templates/Ccda/Reference/Observation/_Device.liquid diff --git a/data/Templates/Cda/Reference/Observation/_Encounter.liquid b/data/Templates/Ccda/Reference/Observation/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_Encounter.liquid rename to data/Templates/Ccda/Reference/Observation/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Observation/_Focus.liquid b/data/Templates/Ccda/Reference/Observation/_Focus.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_Focus.liquid rename to data/Templates/Ccda/Reference/Observation/_Focus.liquid diff --git a/data/Templates/Cda/Reference/Observation/_HasMember.liquid b/data/Templates/Ccda/Reference/Observation/_HasMember.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_HasMember.liquid rename to data/Templates/Ccda/Reference/Observation/_HasMember.liquid diff --git a/data/Templates/Cda/Reference/Observation/_PartOf.liquid b/data/Templates/Ccda/Reference/Observation/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_PartOf.liquid rename to data/Templates/Ccda/Reference/Observation/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Observation/_Performer.liquid b/data/Templates/Ccda/Reference/Observation/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_Performer.liquid rename to data/Templates/Ccda/Reference/Observation/_Performer.liquid diff --git a/data/Templates/Cda/Reference/Observation/_Specimen.liquid b/data/Templates/Ccda/Reference/Observation/_Specimen.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_Specimen.liquid rename to data/Templates/Ccda/Reference/Observation/_Specimen.liquid diff --git a/data/Templates/Cda/Reference/Observation/_Subject.liquid b/data/Templates/Ccda/Reference/Observation/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Observation/_Subject.liquid rename to data/Templates/Ccda/Reference/Observation/_Subject.liquid diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid b/data/Templates/Ccda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid similarity index 100% rename from data/Templates/Cda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid rename to data/Templates/Ccda/Reference/ObservationDefinition/_AbnormalCodedValueSet.liquid diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid b/data/Templates/Ccda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid similarity index 100% rename from data/Templates/Cda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid rename to data/Templates/Ccda/Reference/ObservationDefinition/_CriticalCodedValueSet.liquid diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid b/data/Templates/Ccda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid similarity index 100% rename from data/Templates/Cda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid rename to data/Templates/Ccda/Reference/ObservationDefinition/_NormalCodedValueSet.liquid diff --git a/data/Templates/Cda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid b/data/Templates/Ccda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid similarity index 100% rename from data/Templates/Cda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid rename to data/Templates/Ccda/Reference/ObservationDefinition/_ValidCodedValueSet.liquid diff --git a/data/Templates/Cda/Reference/Organization/_Endpoint.liquid b/data/Templates/Ccda/Reference/Organization/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/Organization/_Endpoint.liquid rename to data/Templates/Ccda/Reference/Organization/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/Organization/_PartOf.liquid b/data/Templates/Ccda/Reference/Organization/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Organization/_PartOf.liquid rename to data/Templates/Ccda/Reference/Organization/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Endpoint.liquid b/data/Templates/Ccda/Reference/OrganizationAffiliation/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/OrganizationAffiliation/_Endpoint.liquid rename to data/Templates/Ccda/Reference/OrganizationAffiliation/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_HealthcareService.liquid b/data/Templates/Ccda/Reference/OrganizationAffiliation/_HealthcareService.liquid similarity index 100% rename from data/Templates/Cda/Reference/OrganizationAffiliation/_HealthcareService.liquid rename to data/Templates/Ccda/Reference/OrganizationAffiliation/_HealthcareService.liquid diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Location.liquid b/data/Templates/Ccda/Reference/OrganizationAffiliation/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/OrganizationAffiliation/_Location.liquid rename to data/Templates/Ccda/Reference/OrganizationAffiliation/_Location.liquid diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Network.liquid b/data/Templates/Ccda/Reference/OrganizationAffiliation/_Network.liquid similarity index 100% rename from data/Templates/Cda/Reference/OrganizationAffiliation/_Network.liquid rename to data/Templates/Ccda/Reference/OrganizationAffiliation/_Network.liquid diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_Organization.liquid b/data/Templates/Ccda/Reference/OrganizationAffiliation/_Organization.liquid similarity index 100% rename from data/Templates/Cda/Reference/OrganizationAffiliation/_Organization.liquid rename to data/Templates/Ccda/Reference/OrganizationAffiliation/_Organization.liquid diff --git a/data/Templates/Cda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid b/data/Templates/Ccda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid rename to data/Templates/Ccda/Reference/OrganizationAffiliation/_ParticipatingOrganization.liquid diff --git a/data/Templates/Cda/Reference/Parameters/_Parameter_ValueReference.liquid b/data/Templates/Ccda/Reference/Parameters/_Parameter_ValueReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Parameters/_Parameter_ValueReference.liquid rename to data/Templates/Ccda/Reference/Parameters/_Parameter_ValueReference.liquid diff --git a/data/Templates/Cda/Reference/Patient/_Contact_Organization.liquid b/data/Templates/Ccda/Reference/Patient/_Contact_Organization.liquid similarity index 100% rename from data/Templates/Cda/Reference/Patient/_Contact_Organization.liquid rename to data/Templates/Ccda/Reference/Patient/_Contact_Organization.liquid diff --git a/data/Templates/Cda/Reference/Patient/_GeneralPractitioner.liquid b/data/Templates/Ccda/Reference/Patient/_GeneralPractitioner.liquid similarity index 100% rename from data/Templates/Cda/Reference/Patient/_GeneralPractitioner.liquid rename to data/Templates/Ccda/Reference/Patient/_GeneralPractitioner.liquid diff --git a/data/Templates/Cda/Reference/Patient/_Link_Other.liquid b/data/Templates/Ccda/Reference/Patient/_Link_Other.liquid similarity index 100% rename from data/Templates/Cda/Reference/Patient/_Link_Other.liquid rename to data/Templates/Ccda/Reference/Patient/_Link_Other.liquid diff --git a/data/Templates/Cda/Reference/Patient/_ManagingOrganization.liquid b/data/Templates/Ccda/Reference/Patient/_ManagingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/Patient/_ManagingOrganization.liquid rename to data/Templates/Ccda/Reference/Patient/_ManagingOrganization.liquid diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Payee.liquid b/data/Templates/Ccda/Reference/PaymentNotice/_Payee.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentNotice/_Payee.liquid rename to data/Templates/Ccda/Reference/PaymentNotice/_Payee.liquid diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Payment.liquid b/data/Templates/Ccda/Reference/PaymentNotice/_Payment.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentNotice/_Payment.liquid rename to data/Templates/Ccda/Reference/PaymentNotice/_Payment.liquid diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Provider.liquid b/data/Templates/Ccda/Reference/PaymentNotice/_Provider.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentNotice/_Provider.liquid rename to data/Templates/Ccda/Reference/PaymentNotice/_Provider.liquid diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Recipient.liquid b/data/Templates/Ccda/Reference/PaymentNotice/_Recipient.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentNotice/_Recipient.liquid rename to data/Templates/Ccda/Reference/PaymentNotice/_Recipient.liquid diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Request.liquid b/data/Templates/Ccda/Reference/PaymentNotice/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentNotice/_Request.liquid rename to data/Templates/Ccda/Reference/PaymentNotice/_Request.liquid diff --git a/data/Templates/Cda/Reference/PaymentNotice/_Response.liquid b/data/Templates/Ccda/Reference/PaymentNotice/_Response.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentNotice/_Response.liquid rename to data/Templates/Ccda/Reference/PaymentNotice/_Response.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Payee.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Payee.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Payee.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Payee.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Request.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Request.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Request.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Response.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Response.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Response.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Response.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Responsible.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Responsible.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Responsible.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Responsible.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Submitter.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Submitter.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Detail_Submitter.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Detail_Submitter.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_PaymentIssuer.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_PaymentIssuer.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_PaymentIssuer.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_PaymentIssuer.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Request.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Request.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Request.liquid diff --git a/data/Templates/Cda/Reference/PaymentReconciliation/_Requestor.liquid b/data/Templates/Ccda/Reference/PaymentReconciliation/_Requestor.liquid similarity index 100% rename from data/Templates/Cda/Reference/PaymentReconciliation/_Requestor.liquid rename to data/Templates/Ccda/Reference/PaymentReconciliation/_Requestor.liquid diff --git a/data/Templates/Cda/Reference/Person/_Link_Target.liquid b/data/Templates/Ccda/Reference/Person/_Link_Target.liquid similarity index 100% rename from data/Templates/Cda/Reference/Person/_Link_Target.liquid rename to data/Templates/Ccda/Reference/Person/_Link_Target.liquid diff --git a/data/Templates/Cda/Reference/Person/_ManagingOrganization.liquid b/data/Templates/Ccda/Reference/Person/_ManagingOrganization.liquid similarity index 100% rename from data/Templates/Cda/Reference/Person/_ManagingOrganization.liquid rename to data/Templates/Ccda/Reference/Person/_ManagingOrganization.liquid diff --git a/data/Templates/Cda/Reference/PlanDefinition/_Action_SubjectReference.liquid b/data/Templates/Ccda/Reference/PlanDefinition/_Action_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/PlanDefinition/_Action_SubjectReference.liquid rename to data/Templates/Ccda/Reference/PlanDefinition/_Action_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/PlanDefinition/_SubjectReference.liquid b/data/Templates/Ccda/Reference/PlanDefinition/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/PlanDefinition/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/PlanDefinition/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/Practitioner/_Qualification_Issuer.liquid b/data/Templates/Ccda/Reference/Practitioner/_Qualification_Issuer.liquid similarity index 100% rename from data/Templates/Cda/Reference/Practitioner/_Qualification_Issuer.liquid rename to data/Templates/Ccda/Reference/Practitioner/_Qualification_Issuer.liquid diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Endpoint.liquid b/data/Templates/Ccda/Reference/PractitionerRole/_Endpoint.liquid similarity index 100% rename from data/Templates/Cda/Reference/PractitionerRole/_Endpoint.liquid rename to data/Templates/Ccda/Reference/PractitionerRole/_Endpoint.liquid diff --git a/data/Templates/Cda/Reference/PractitionerRole/_HealthcareService.liquid b/data/Templates/Ccda/Reference/PractitionerRole/_HealthcareService.liquid similarity index 100% rename from data/Templates/Cda/Reference/PractitionerRole/_HealthcareService.liquid rename to data/Templates/Ccda/Reference/PractitionerRole/_HealthcareService.liquid diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Location.liquid b/data/Templates/Ccda/Reference/PractitionerRole/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/PractitionerRole/_Location.liquid rename to data/Templates/Ccda/Reference/PractitionerRole/_Location.liquid diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Organization.liquid b/data/Templates/Ccda/Reference/PractitionerRole/_Organization.liquid similarity index 100% rename from data/Templates/Cda/Reference/PractitionerRole/_Organization.liquid rename to data/Templates/Ccda/Reference/PractitionerRole/_Organization.liquid diff --git a/data/Templates/Cda/Reference/PractitionerRole/_Practitioner.liquid b/data/Templates/Ccda/Reference/PractitionerRole/_Practitioner.liquid similarity index 100% rename from data/Templates/Cda/Reference/PractitionerRole/_Practitioner.liquid rename to data/Templates/Ccda/Reference/PractitionerRole/_Practitioner.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Asserter.liquid b/data/Templates/Ccda/Reference/Procedure/_Asserter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Asserter.liquid rename to data/Templates/Ccda/Reference/Procedure/_Asserter.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_BasedOn.liquid b/data/Templates/Ccda/Reference/Procedure/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Procedure/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_ComplicationDetail.liquid b/data/Templates/Ccda/Reference/Procedure/_ComplicationDetail.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_ComplicationDetail.liquid rename to data/Templates/Ccda/Reference/Procedure/_ComplicationDetail.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Encounter.liquid b/data/Templates/Ccda/Reference/Procedure/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Encounter.liquid rename to data/Templates/Ccda/Reference/Procedure/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_FocalDevice_Manipulated.liquid b/data/Templates/Ccda/Reference/Procedure/_FocalDevice_Manipulated.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_FocalDevice_Manipulated.liquid rename to data/Templates/Ccda/Reference/Procedure/_FocalDevice_Manipulated.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Location.liquid b/data/Templates/Ccda/Reference/Procedure/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Location.liquid rename to data/Templates/Ccda/Reference/Procedure/_Location.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_PartOf.liquid b/data/Templates/Ccda/Reference/Procedure/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_PartOf.liquid rename to data/Templates/Ccda/Reference/Procedure/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Performer_Actor.liquid b/data/Templates/Ccda/Reference/Procedure/_Performer_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Performer_Actor.liquid rename to data/Templates/Ccda/Reference/Procedure/_Performer_Actor.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Performer_OnBehalfOf.liquid b/data/Templates/Ccda/Reference/Procedure/_Performer_OnBehalfOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Performer_OnBehalfOf.liquid rename to data/Templates/Ccda/Reference/Procedure/_Performer_OnBehalfOf.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_ReasonReference.liquid b/data/Templates/Ccda/Reference/Procedure/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/Procedure/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Recorder.liquid b/data/Templates/Ccda/Reference/Procedure/_Recorder.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Recorder.liquid rename to data/Templates/Ccda/Reference/Procedure/_Recorder.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Report.liquid b/data/Templates/Ccda/Reference/Procedure/_Report.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Report.liquid rename to data/Templates/Ccda/Reference/Procedure/_Report.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_Subject.liquid b/data/Templates/Ccda/Reference/Procedure/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_Subject.liquid rename to data/Templates/Ccda/Reference/Procedure/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Procedure/_UsedReference.liquid b/data/Templates/Ccda/Reference/Procedure/_UsedReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Procedure/_UsedReference.liquid rename to data/Templates/Ccda/Reference/Procedure/_UsedReference.liquid diff --git a/data/Templates/Cda/Reference/Provenance/_Agent_OnBehalfOf.liquid b/data/Templates/Ccda/Reference/Provenance/_Agent_OnBehalfOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Provenance/_Agent_OnBehalfOf.liquid rename to data/Templates/Ccda/Reference/Provenance/_Agent_OnBehalfOf.liquid diff --git a/data/Templates/Cda/Reference/Provenance/_Agent_Who.liquid b/data/Templates/Ccda/Reference/Provenance/_Agent_Who.liquid similarity index 100% rename from data/Templates/Cda/Reference/Provenance/_Agent_Who.liquid rename to data/Templates/Ccda/Reference/Provenance/_Agent_Who.liquid diff --git a/data/Templates/Cda/Reference/Provenance/_Entity_What.liquid b/data/Templates/Ccda/Reference/Provenance/_Entity_What.liquid similarity index 100% rename from data/Templates/Cda/Reference/Provenance/_Entity_What.liquid rename to data/Templates/Ccda/Reference/Provenance/_Entity_What.liquid diff --git a/data/Templates/Cda/Reference/Provenance/_Location.liquid b/data/Templates/Ccda/Reference/Provenance/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/Provenance/_Location.liquid rename to data/Templates/Ccda/Reference/Provenance/_Location.liquid diff --git a/data/Templates/Cda/Reference/Provenance/_Target.liquid b/data/Templates/Ccda/Reference/Provenance/_Target.liquid similarity index 100% rename from data/Templates/Cda/Reference/Provenance/_Target.liquid rename to data/Templates/Ccda/Reference/Provenance/_Target.liquid diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Author.liquid b/data/Templates/Ccda/Reference/QuestionnaireResponse/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/QuestionnaireResponse/_Author.liquid rename to data/Templates/Ccda/Reference/QuestionnaireResponse/_Author.liquid diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_BasedOn.liquid b/data/Templates/Ccda/Reference/QuestionnaireResponse/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/QuestionnaireResponse/_BasedOn.liquid rename to data/Templates/Ccda/Reference/QuestionnaireResponse/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Encounter.liquid b/data/Templates/Ccda/Reference/QuestionnaireResponse/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/QuestionnaireResponse/_Encounter.liquid rename to data/Templates/Ccda/Reference/QuestionnaireResponse/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_PartOf.liquid b/data/Templates/Ccda/Reference/QuestionnaireResponse/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/QuestionnaireResponse/_PartOf.liquid rename to data/Templates/Ccda/Reference/QuestionnaireResponse/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Source.liquid b/data/Templates/Ccda/Reference/QuestionnaireResponse/_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/QuestionnaireResponse/_Source.liquid rename to data/Templates/Ccda/Reference/QuestionnaireResponse/_Source.liquid diff --git a/data/Templates/Cda/Reference/QuestionnaireResponse/_Subject.liquid b/data/Templates/Ccda/Reference/QuestionnaireResponse/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/QuestionnaireResponse/_Subject.liquid rename to data/Templates/Ccda/Reference/QuestionnaireResponse/_Subject.liquid diff --git a/data/Templates/Cda/Reference/RelatedPerson/_Patient.liquid b/data/Templates/Ccda/Reference/RelatedPerson/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/RelatedPerson/_Patient.liquid rename to data/Templates/Ccda/Reference/RelatedPerson/_Patient.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_Action_Participant.liquid b/data/Templates/Ccda/Reference/RequestGroup/_Action_Participant.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_Action_Participant.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_Action_Participant.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_Action_Resource.liquid b/data/Templates/Ccda/Reference/RequestGroup/_Action_Resource.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_Action_Resource.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_Action_Resource.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_Author.liquid b/data/Templates/Ccda/Reference/RequestGroup/_Author.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_Author.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_Author.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_BasedOn.liquid b/data/Templates/Ccda/Reference/RequestGroup/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_BasedOn.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_Encounter.liquid b/data/Templates/Ccda/Reference/RequestGroup/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_Encounter.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_ReasonReference.liquid b/data/Templates/Ccda/Reference/RequestGroup/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_Replaces.liquid b/data/Templates/Ccda/Reference/RequestGroup/_Replaces.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_Replaces.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_Replaces.liquid diff --git a/data/Templates/Cda/Reference/RequestGroup/_Subject.liquid b/data/Templates/Ccda/Reference/RequestGroup/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/RequestGroup/_Subject.liquid rename to data/Templates/Ccda/Reference/RequestGroup/_Subject.liquid diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_Exposure.liquid b/data/Templates/Ccda/Reference/ResearchDefinition/_Exposure.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchDefinition/_Exposure.liquid rename to data/Templates/Ccda/Reference/ResearchDefinition/_Exposure.liquid diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_ExposureAlternative.liquid b/data/Templates/Ccda/Reference/ResearchDefinition/_ExposureAlternative.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchDefinition/_ExposureAlternative.liquid rename to data/Templates/Ccda/Reference/ResearchDefinition/_ExposureAlternative.liquid diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_Outcome.liquid b/data/Templates/Ccda/Reference/ResearchDefinition/_Outcome.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchDefinition/_Outcome.liquid rename to data/Templates/Ccda/Reference/ResearchDefinition/_Outcome.liquid diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_Population.liquid b/data/Templates/Ccda/Reference/ResearchDefinition/_Population.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchDefinition/_Population.liquid rename to data/Templates/Ccda/Reference/ResearchDefinition/_Population.liquid diff --git a/data/Templates/Cda/Reference/ResearchDefinition/_SubjectReference.liquid b/data/Templates/Ccda/Reference/ResearchDefinition/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchDefinition/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/ResearchDefinition/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/ResearchElementDefinition/_SubjectReference.liquid b/data/Templates/Ccda/Reference/ResearchElementDefinition/_SubjectReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchElementDefinition/_SubjectReference.liquid rename to data/Templates/Ccda/Reference/ResearchElementDefinition/_SubjectReference.liquid diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Enrollment.liquid b/data/Templates/Ccda/Reference/ResearchStudy/_Enrollment.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchStudy/_Enrollment.liquid rename to data/Templates/Ccda/Reference/ResearchStudy/_Enrollment.liquid diff --git a/data/Templates/Cda/Reference/ResearchStudy/_PartOf.liquid b/data/Templates/Ccda/Reference/ResearchStudy/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchStudy/_PartOf.liquid rename to data/Templates/Ccda/Reference/ResearchStudy/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/ResearchStudy/_PrincipalInvestigator.liquid b/data/Templates/Ccda/Reference/ResearchStudy/_PrincipalInvestigator.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchStudy/_PrincipalInvestigator.liquid rename to data/Templates/Ccda/Reference/ResearchStudy/_PrincipalInvestigator.liquid diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Protocol.liquid b/data/Templates/Ccda/Reference/ResearchStudy/_Protocol.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchStudy/_Protocol.liquid rename to data/Templates/Ccda/Reference/ResearchStudy/_Protocol.liquid diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Site.liquid b/data/Templates/Ccda/Reference/ResearchStudy/_Site.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchStudy/_Site.liquid rename to data/Templates/Ccda/Reference/ResearchStudy/_Site.liquid diff --git a/data/Templates/Cda/Reference/ResearchStudy/_Sponsor.liquid b/data/Templates/Ccda/Reference/ResearchStudy/_Sponsor.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchStudy/_Sponsor.liquid rename to data/Templates/Ccda/Reference/ResearchStudy/_Sponsor.liquid diff --git a/data/Templates/Cda/Reference/ResearchSubject/_Consent.liquid b/data/Templates/Ccda/Reference/ResearchSubject/_Consent.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchSubject/_Consent.liquid rename to data/Templates/Ccda/Reference/ResearchSubject/_Consent.liquid diff --git a/data/Templates/Cda/Reference/ResearchSubject/_Individual.liquid b/data/Templates/Ccda/Reference/ResearchSubject/_Individual.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchSubject/_Individual.liquid rename to data/Templates/Ccda/Reference/ResearchSubject/_Individual.liquid diff --git a/data/Templates/Cda/Reference/ResearchSubject/_Study.liquid b/data/Templates/Ccda/Reference/ResearchSubject/_Study.liquid similarity index 100% rename from data/Templates/Cda/Reference/ResearchSubject/_Study.liquid rename to data/Templates/Ccda/Reference/ResearchSubject/_Study.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_BasedOn.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_BasedOn.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Basis.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_Basis.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_Basis.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_Basis.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Condition.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_Condition.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_Condition.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_Condition.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Encounter.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_Encounter.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Parent.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_Parent.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_Parent.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_Parent.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Performer.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_Performer.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_Performer.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_ReasonReference.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/RiskAssessment/_Subject.liquid b/data/Templates/Ccda/Reference/RiskAssessment/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskAssessment/_Subject.liquid rename to data/Templates/Ccda/Reference/RiskAssessment/_Subject.liquid diff --git a/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Exposure.liquid b/data/Templates/Ccda/Reference/RiskEvidenceSynthesis/_Exposure.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Exposure.liquid rename to data/Templates/Ccda/Reference/RiskEvidenceSynthesis/_Exposure.liquid diff --git a/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Outcome.liquid b/data/Templates/Ccda/Reference/RiskEvidenceSynthesis/_Outcome.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Outcome.liquid rename to data/Templates/Ccda/Reference/RiskEvidenceSynthesis/_Outcome.liquid diff --git a/data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Population.liquid b/data/Templates/Ccda/Reference/RiskEvidenceSynthesis/_Population.liquid similarity index 100% rename from data/Templates/Cda/Reference/RiskEvidenceSynthesis/_Population.liquid rename to data/Templates/Ccda/Reference/RiskEvidenceSynthesis/_Population.liquid diff --git a/data/Templates/Cda/Reference/Schedule/_Actor.liquid b/data/Templates/Ccda/Reference/Schedule/_Actor.liquid similarity index 100% rename from data/Templates/Cda/Reference/Schedule/_Actor.liquid rename to data/Templates/Ccda/Reference/Schedule/_Actor.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_BasedOn.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_BasedOn.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Encounter.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Encounter.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Insurance.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Insurance.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Insurance.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Insurance.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_LocationReference.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_LocationReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_LocationReference.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_LocationReference.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Performer.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Performer.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Performer.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Performer.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_ReasonReference.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_RelevantHistory.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_RelevantHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_RelevantHistory.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_RelevantHistory.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Replaces.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Replaces.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Replaces.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Replaces.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Requester.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Requester.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Requester.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Requester.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Specimen.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Specimen.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Specimen.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Specimen.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_Subject.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_Subject.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_Subject.liquid diff --git a/data/Templates/Cda/Reference/ServiceRequest/_SupportingInfo.liquid b/data/Templates/Ccda/Reference/ServiceRequest/_SupportingInfo.liquid similarity index 100% rename from data/Templates/Cda/Reference/ServiceRequest/_SupportingInfo.liquid rename to data/Templates/Ccda/Reference/ServiceRequest/_SupportingInfo.liquid diff --git a/data/Templates/Cda/Reference/Slot/_Schedule.liquid b/data/Templates/Ccda/Reference/Slot/_Schedule.liquid similarity index 100% rename from data/Templates/Cda/Reference/Slot/_Schedule.liquid rename to data/Templates/Ccda/Reference/Slot/_Schedule.liquid diff --git a/data/Templates/Cda/Reference/Specimen/_Collection_Collector.liquid b/data/Templates/Ccda/Reference/Specimen/_Collection_Collector.liquid similarity index 100% rename from data/Templates/Cda/Reference/Specimen/_Collection_Collector.liquid rename to data/Templates/Ccda/Reference/Specimen/_Collection_Collector.liquid diff --git a/data/Templates/Cda/Reference/Specimen/_Container_AdditiveReference.liquid b/data/Templates/Ccda/Reference/Specimen/_Container_AdditiveReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Specimen/_Container_AdditiveReference.liquid rename to data/Templates/Ccda/Reference/Specimen/_Container_AdditiveReference.liquid diff --git a/data/Templates/Cda/Reference/Specimen/_Parent.liquid b/data/Templates/Ccda/Reference/Specimen/_Parent.liquid similarity index 100% rename from data/Templates/Cda/Reference/Specimen/_Parent.liquid rename to data/Templates/Ccda/Reference/Specimen/_Parent.liquid diff --git a/data/Templates/Cda/Reference/Specimen/_Processing_Additive.liquid b/data/Templates/Ccda/Reference/Specimen/_Processing_Additive.liquid similarity index 100% rename from data/Templates/Cda/Reference/Specimen/_Processing_Additive.liquid rename to data/Templates/Ccda/Reference/Specimen/_Processing_Additive.liquid diff --git a/data/Templates/Cda/Reference/Specimen/_Request.liquid b/data/Templates/Ccda/Reference/Specimen/_Request.liquid similarity index 100% rename from data/Templates/Cda/Reference/Specimen/_Request.liquid rename to data/Templates/Ccda/Reference/Specimen/_Request.liquid diff --git a/data/Templates/Cda/Reference/Specimen/_Subject.liquid b/data/Templates/Ccda/Reference/Specimen/_Subject.liquid similarity index 100% rename from data/Templates/Cda/Reference/Specimen/_Subject.liquid rename to data/Templates/Ccda/Reference/Specimen/_Subject.liquid diff --git a/data/Templates/Cda/Reference/Substance/_Ingredient_SubstanceReference.liquid b/data/Templates/Ccda/Reference/Substance/_Ingredient_SubstanceReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Substance/_Ingredient_SubstanceReference.liquid rename to data/Templates/Ccda/Reference/Substance/_Ingredient_SubstanceReference.liquid diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid b/data/Templates/Ccda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceReferenceInformation/_Classification_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid b/data/Templates/Ccda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceReferenceInformation/_GeneElement_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid b/data/Templates/Ccda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceReferenceInformation/_Gene_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceReferenceInformation/_Target_Source.liquid b/data/Templates/Ccda/Reference/SubstanceReferenceInformation/_Target_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceReferenceInformation/_Target_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceReferenceInformation/_Target_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Code_Source.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Code_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Code_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Code_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Name_Source.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Name_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Name_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Name_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_NucleicAcid.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_NucleicAcid.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_NucleicAcid.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_NucleicAcid.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Polymer.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Polymer.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Polymer.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Polymer.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Property_DefiningSubstanceReference.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Protein.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Protein.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Protein.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Protein.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_ReferenceInformation.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_ReferenceInformation.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_ReferenceInformation.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_ReferenceInformation.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_Source.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Relationship_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Relationship_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Relationship_SubstanceReference.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Source.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Source.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_SourceMaterial.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_SourceMaterial.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_SourceMaterial.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_SourceMaterial.liquid diff --git a/data/Templates/Cda/Reference/SubstanceSpecification/_Structure_Source.liquid b/data/Templates/Ccda/Reference/SubstanceSpecification/_Structure_Source.liquid similarity index 100% rename from data/Templates/Cda/Reference/SubstanceSpecification/_Structure_Source.liquid rename to data/Templates/Ccda/Reference/SubstanceSpecification/_Structure_Source.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_BasedOn.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_BasedOn.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Destination.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_Destination.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_Destination.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_Destination.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_PartOf.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_PartOf.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Patient.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_Patient.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_Patient.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Receiver.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_Receiver.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_Receiver.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_Receiver.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_SuppliedItem_ItemReference.liquid diff --git a/data/Templates/Cda/Reference/SupplyDelivery/_Supplier.liquid b/data/Templates/Ccda/Reference/SupplyDelivery/_Supplier.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyDelivery/_Supplier.liquid rename to data/Templates/Ccda/Reference/SupplyDelivery/_Supplier.liquid diff --git a/data/Templates/Cda/Reference/SupplyRequest/_DeliverFrom.liquid b/data/Templates/Ccda/Reference/SupplyRequest/_DeliverFrom.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyRequest/_DeliverFrom.liquid rename to data/Templates/Ccda/Reference/SupplyRequest/_DeliverFrom.liquid diff --git a/data/Templates/Cda/Reference/SupplyRequest/_DeliverTo.liquid b/data/Templates/Ccda/Reference/SupplyRequest/_DeliverTo.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyRequest/_DeliverTo.liquid rename to data/Templates/Ccda/Reference/SupplyRequest/_DeliverTo.liquid diff --git a/data/Templates/Cda/Reference/SupplyRequest/_ItemReference.liquid b/data/Templates/Ccda/Reference/SupplyRequest/_ItemReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyRequest/_ItemReference.liquid rename to data/Templates/Ccda/Reference/SupplyRequest/_ItemReference.liquid diff --git a/data/Templates/Cda/Reference/SupplyRequest/_ReasonReference.liquid b/data/Templates/Ccda/Reference/SupplyRequest/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyRequest/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/SupplyRequest/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/SupplyRequest/_Requester.liquid b/data/Templates/Ccda/Reference/SupplyRequest/_Requester.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyRequest/_Requester.liquid rename to data/Templates/Ccda/Reference/SupplyRequest/_Requester.liquid diff --git a/data/Templates/Cda/Reference/SupplyRequest/_Supplier.liquid b/data/Templates/Ccda/Reference/SupplyRequest/_Supplier.liquid similarity index 100% rename from data/Templates/Cda/Reference/SupplyRequest/_Supplier.liquid rename to data/Templates/Ccda/Reference/SupplyRequest/_Supplier.liquid diff --git a/data/Templates/Cda/Reference/Task/_BasedOn.liquid b/data/Templates/Ccda/Reference/Task/_BasedOn.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_BasedOn.liquid rename to data/Templates/Ccda/Reference/Task/_BasedOn.liquid diff --git a/data/Templates/Cda/Reference/Task/_Encounter.liquid b/data/Templates/Ccda/Reference/Task/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Encounter.liquid rename to data/Templates/Ccda/Reference/Task/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/Task/_Focus.liquid b/data/Templates/Ccda/Reference/Task/_Focus.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Focus.liquid rename to data/Templates/Ccda/Reference/Task/_Focus.liquid diff --git a/data/Templates/Cda/Reference/Task/_For.liquid b/data/Templates/Ccda/Reference/Task/_For.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_For.liquid rename to data/Templates/Ccda/Reference/Task/_For.liquid diff --git a/data/Templates/Cda/Reference/Task/_Input_ValueReference.liquid b/data/Templates/Ccda/Reference/Task/_Input_ValueReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Input_ValueReference.liquid rename to data/Templates/Ccda/Reference/Task/_Input_ValueReference.liquid diff --git a/data/Templates/Cda/Reference/Task/_Insurance.liquid b/data/Templates/Ccda/Reference/Task/_Insurance.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Insurance.liquid rename to data/Templates/Ccda/Reference/Task/_Insurance.liquid diff --git a/data/Templates/Cda/Reference/Task/_Location.liquid b/data/Templates/Ccda/Reference/Task/_Location.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Location.liquid rename to data/Templates/Ccda/Reference/Task/_Location.liquid diff --git a/data/Templates/Cda/Reference/Task/_Output_ValueReference.liquid b/data/Templates/Ccda/Reference/Task/_Output_ValueReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Output_ValueReference.liquid rename to data/Templates/Ccda/Reference/Task/_Output_ValueReference.liquid diff --git a/data/Templates/Cda/Reference/Task/_Owner.liquid b/data/Templates/Ccda/Reference/Task/_Owner.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Owner.liquid rename to data/Templates/Ccda/Reference/Task/_Owner.liquid diff --git a/data/Templates/Cda/Reference/Task/_PartOf.liquid b/data/Templates/Ccda/Reference/Task/_PartOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_PartOf.liquid rename to data/Templates/Ccda/Reference/Task/_PartOf.liquid diff --git a/data/Templates/Cda/Reference/Task/_ReasonReference.liquid b/data/Templates/Ccda/Reference/Task/_ReasonReference.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_ReasonReference.liquid rename to data/Templates/Ccda/Reference/Task/_ReasonReference.liquid diff --git a/data/Templates/Cda/Reference/Task/_RelevantHistory.liquid b/data/Templates/Ccda/Reference/Task/_RelevantHistory.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_RelevantHistory.liquid rename to data/Templates/Ccda/Reference/Task/_RelevantHistory.liquid diff --git a/data/Templates/Cda/Reference/Task/_Requester.liquid b/data/Templates/Ccda/Reference/Task/_Requester.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Requester.liquid rename to data/Templates/Ccda/Reference/Task/_Requester.liquid diff --git a/data/Templates/Cda/Reference/Task/_Restriction_Recipient.liquid b/data/Templates/Ccda/Reference/Task/_Restriction_Recipient.liquid similarity index 100% rename from data/Templates/Cda/Reference/Task/_Restriction_Recipient.liquid rename to data/Templates/Ccda/Reference/Task/_Restriction_Recipient.liquid diff --git a/data/Templates/Cda/Reference/TestReport/_TestScript.liquid b/data/Templates/Ccda/Reference/TestReport/_TestScript.liquid similarity index 100% rename from data/Templates/Cda/Reference/TestReport/_TestScript.liquid rename to data/Templates/Ccda/Reference/TestReport/_TestScript.liquid diff --git a/data/Templates/Cda/Reference/TestScript/_Fixture_Resource.liquid b/data/Templates/Ccda/Reference/TestScript/_Fixture_Resource.liquid similarity index 100% rename from data/Templates/Cda/Reference/TestScript/_Fixture_Resource.liquid rename to data/Templates/Ccda/Reference/TestScript/_Fixture_Resource.liquid diff --git a/data/Templates/Cda/Reference/TestScript/_Profile.liquid b/data/Templates/Ccda/Reference/TestScript/_Profile.liquid similarity index 100% rename from data/Templates/Cda/Reference/TestScript/_Profile.liquid rename to data/Templates/Ccda/Reference/TestScript/_Profile.liquid diff --git a/data/Templates/Cda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid b/data/Templates/Ccda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid similarity index 100% rename from data/Templates/Cda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid rename to data/Templates/Ccda/Reference/VerificationResult/_Attestation_OnBehalfOf.liquid diff --git a/data/Templates/Cda/Reference/VerificationResult/_Attestation_Who.liquid b/data/Templates/Ccda/Reference/VerificationResult/_Attestation_Who.liquid similarity index 100% rename from data/Templates/Cda/Reference/VerificationResult/_Attestation_Who.liquid rename to data/Templates/Ccda/Reference/VerificationResult/_Attestation_Who.liquid diff --git a/data/Templates/Cda/Reference/VerificationResult/_PrimarySource_Who.liquid b/data/Templates/Ccda/Reference/VerificationResult/_PrimarySource_Who.liquid similarity index 100% rename from data/Templates/Cda/Reference/VerificationResult/_PrimarySource_Who.liquid rename to data/Templates/Ccda/Reference/VerificationResult/_PrimarySource_Who.liquid diff --git a/data/Templates/Cda/Reference/VerificationResult/_Target.liquid b/data/Templates/Ccda/Reference/VerificationResult/_Target.liquid similarity index 100% rename from data/Templates/Cda/Reference/VerificationResult/_Target.liquid rename to data/Templates/Ccda/Reference/VerificationResult/_Target.liquid diff --git a/data/Templates/Cda/Reference/VerificationResult/_Validator_Organization.liquid b/data/Templates/Ccda/Reference/VerificationResult/_Validator_Organization.liquid similarity index 100% rename from data/Templates/Cda/Reference/VerificationResult/_Validator_Organization.liquid rename to data/Templates/Ccda/Reference/VerificationResult/_Validator_Organization.liquid diff --git a/data/Templates/Cda/Reference/VisionPrescription/_Encounter.liquid b/data/Templates/Ccda/Reference/VisionPrescription/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Reference/VisionPrescription/_Encounter.liquid rename to data/Templates/Ccda/Reference/VisionPrescription/_Encounter.liquid diff --git a/data/Templates/Cda/Reference/VisionPrescription/_Patient.liquid b/data/Templates/Ccda/Reference/VisionPrescription/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Reference/VisionPrescription/_Patient.liquid rename to data/Templates/Ccda/Reference/VisionPrescription/_Patient.liquid diff --git a/data/Templates/Cda/Reference/VisionPrescription/_Prescriber.liquid b/data/Templates/Ccda/Reference/VisionPrescription/_Prescriber.liquid similarity index 100% rename from data/Templates/Cda/Reference/VisionPrescription/_Prescriber.liquid rename to data/Templates/Ccda/Reference/VisionPrescription/_Prescriber.liquid diff --git a/data/Templates/Cda/Resource/_AllergyIntolerance.liquid b/data/Templates/Ccda/Resource/_AllergyIntolerance.liquid similarity index 100% rename from data/Templates/Cda/Resource/_AllergyIntolerance.liquid rename to data/Templates/Ccda/Resource/_AllergyIntolerance.liquid diff --git a/data/Templates/Cda/Resource/_Communication.liquid b/data/Templates/Ccda/Resource/_Communication.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Communication.liquid rename to data/Templates/Ccda/Resource/_Communication.liquid diff --git a/data/Templates/Cda/Resource/_Composition.liquid b/data/Templates/Ccda/Resource/_Composition.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Composition.liquid rename to data/Templates/Ccda/Resource/_Composition.liquid diff --git a/data/Templates/Cda/Resource/_Condition.liquid b/data/Templates/Ccda/Resource/_Condition.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Condition.liquid rename to data/Templates/Ccda/Resource/_Condition.liquid diff --git a/data/Templates/Cda/Resource/_Consent.liquid b/data/Templates/Ccda/Resource/_Consent.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Consent.liquid rename to data/Templates/Ccda/Resource/_Consent.liquid diff --git a/data/Templates/Cda/Resource/_Coverage.liquid b/data/Templates/Ccda/Resource/_Coverage.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Coverage.liquid rename to data/Templates/Ccda/Resource/_Coverage.liquid diff --git a/data/Templates/Cda/Resource/_Device.liquid b/data/Templates/Ccda/Resource/_Device.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Device.liquid rename to data/Templates/Ccda/Resource/_Device.liquid diff --git a/data/Templates/Cda/Resource/_DiagnosticReport.liquid b/data/Templates/Ccda/Resource/_DiagnosticReport.liquid similarity index 100% rename from data/Templates/Cda/Resource/_DiagnosticReport.liquid rename to data/Templates/Ccda/Resource/_DiagnosticReport.liquid diff --git a/data/Templates/Cda/Resource/_DocumentReference.liquid b/data/Templates/Ccda/Resource/_DocumentReference.liquid similarity index 100% rename from data/Templates/Cda/Resource/_DocumentReference.liquid rename to data/Templates/Ccda/Resource/_DocumentReference.liquid diff --git a/data/Templates/Cda/Resource/_Encounter.liquid b/data/Templates/Ccda/Resource/_Encounter.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Encounter.liquid rename to data/Templates/Ccda/Resource/_Encounter.liquid diff --git a/data/Templates/Cda/Resource/_Goal.liquid b/data/Templates/Ccda/Resource/_Goal.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Goal.liquid rename to data/Templates/Ccda/Resource/_Goal.liquid diff --git a/data/Templates/Cda/Resource/_Location.liquid b/data/Templates/Ccda/Resource/_Location.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Location.liquid rename to data/Templates/Ccda/Resource/_Location.liquid diff --git a/data/Templates/Cda/Resource/_Medication.liquid b/data/Templates/Ccda/Resource/_Medication.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Medication.liquid rename to data/Templates/Ccda/Resource/_Medication.liquid diff --git a/data/Templates/Cda/Resource/_MedicationAdministration.liquid b/data/Templates/Ccda/Resource/_MedicationAdministration.liquid similarity index 100% rename from data/Templates/Cda/Resource/_MedicationAdministration.liquid rename to data/Templates/Ccda/Resource/_MedicationAdministration.liquid diff --git a/data/Templates/Cda/Resource/_MedicationDispense.liquid b/data/Templates/Ccda/Resource/_MedicationDispense.liquid similarity index 100% rename from data/Templates/Cda/Resource/_MedicationDispense.liquid rename to data/Templates/Ccda/Resource/_MedicationDispense.liquid diff --git a/data/Templates/Cda/Resource/_MedicationRequest.liquid b/data/Templates/Ccda/Resource/_MedicationRequest.liquid similarity index 100% rename from data/Templates/Cda/Resource/_MedicationRequest.liquid rename to data/Templates/Ccda/Resource/_MedicationRequest.liquid diff --git a/data/Templates/Cda/Resource/_MedicationStatement.liquid b/data/Templates/Ccda/Resource/_MedicationStatement.liquid similarity index 100% rename from data/Templates/Cda/Resource/_MedicationStatement.liquid rename to data/Templates/Ccda/Resource/_MedicationStatement.liquid diff --git a/data/Templates/Cda/Resource/_Observation.liquid b/data/Templates/Ccda/Resource/_Observation.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Observation.liquid rename to data/Templates/Ccda/Resource/_Observation.liquid diff --git a/data/Templates/Cda/Resource/_Organization.liquid b/data/Templates/Ccda/Resource/_Organization.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Organization.liquid rename to data/Templates/Ccda/Resource/_Organization.liquid diff --git a/data/Templates/Cda/Resource/_Patient.liquid b/data/Templates/Ccda/Resource/_Patient.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Patient.liquid rename to data/Templates/Ccda/Resource/_Patient.liquid diff --git a/data/Templates/Cda/Resource/_Practitioner.liquid b/data/Templates/Ccda/Resource/_Practitioner.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Practitioner.liquid rename to data/Templates/Ccda/Resource/_Practitioner.liquid diff --git a/data/Templates/Cda/Resource/_Procedure.liquid b/data/Templates/Ccda/Resource/_Procedure.liquid similarity index 100% rename from data/Templates/Cda/Resource/_Procedure.liquid rename to data/Templates/Ccda/Resource/_Procedure.liquid diff --git a/data/Templates/Cda/Resource/_RelatedPerson.liquid b/data/Templates/Ccda/Resource/_RelatedPerson.liquid similarity index 100% rename from data/Templates/Cda/Resource/_RelatedPerson.liquid rename to data/Templates/Ccda/Resource/_RelatedPerson.liquid diff --git a/data/Templates/Cda/Resource/_ServiceRequest.liquid b/data/Templates/Ccda/Resource/_ServiceRequest.liquid similarity index 100% rename from data/Templates/Cda/Resource/_ServiceRequest.liquid rename to data/Templates/Ccda/Resource/_ServiceRequest.liquid diff --git a/data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid b/data/Templates/Ccda/Section/_AllergiesAndAdverseReactions.liquid similarity index 86% rename from data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid rename to data/Templates/Ccda/Section/_AllergiesAndAdverseReactions.liquid index c53e418d1..3341142fd 100644 --- a/data/Templates/Cda/Section/_AllergiesAndAdverseReactions.liquid +++ b/data/Templates/Ccda/Section/_AllergiesAndAdverseReactions.liquid @@ -1,4 +1,4 @@ -{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.6.1' -%} +{% assign firstSections = msg | get_first_ccda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.6.1' -%} {% assign entries = firstSections.2_16_840_1_113883_10_20_22_2_6_1.entry | to_array -%} {% for e in entries -%} {% assign relationships = e.act.entryRelationship | to_array -%} diff --git a/data/Templates/Cda/Section/_Medication.liquid b/data/Templates/Ccda/Section/_Medication.liquid similarity index 51% rename from data/Templates/Cda/Section/_Medication.liquid rename to data/Templates/Ccda/Section/_Medication.liquid index 2342f8d46..04d6fbb8e 100644 --- a/data/Templates/Cda/Section/_Medication.liquid +++ b/data/Templates/Ccda/Section/_Medication.liquid @@ -1,2 +1,2 @@ -{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.1.1' -%} +{% assign firstSections = msg | get_first_ccda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.1.1' -%} {{ firstSections.2_16_840_1_113883_10_20_22_2_1_1.entry | to_array | batch_render: 'Entry/Medication/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_Problem.liquid b/data/Templates/Ccda/Section/_Problem.liquid similarity index 51% rename from data/Templates/Cda/Section/_Problem.liquid rename to data/Templates/Ccda/Section/_Problem.liquid index 4bba6c5a7..0d981cc41 100644 --- a/data/Templates/Cda/Section/_Problem.liquid +++ b/data/Templates/Ccda/Section/_Problem.liquid @@ -1,2 +1,2 @@ -{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.5.1' -%} +{% assign firstSections = msg | get_first_ccda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.5.1' -%} {{ firstSections.2_16_840_1_113883_10_20_22_2_5_1.entry | to_array | batch_render: 'Entry/Problem/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_Results.liquid b/data/Templates/Ccda/Section/_Results.liquid similarity index 51% rename from data/Templates/Cda/Section/_Results.liquid rename to data/Templates/Ccda/Section/_Results.liquid index 4e7f38945..ea236ebee 100644 --- a/data/Templates/Cda/Section/_Results.liquid +++ b/data/Templates/Ccda/Section/_Results.liquid @@ -1,2 +1,2 @@ -{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.3.1' -%} +{% assign firstSections = msg | get_first_ccda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.3.1' -%} {{ firstSections.2_16_840_1_113883_10_20_22_2_3_1.entry | to_array | batch_render: 'Entry/Results/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_SocialHistory.liquid b/data/Templates/Ccda/Section/_SocialHistory.liquid similarity index 52% rename from data/Templates/Cda/Section/_SocialHistory.liquid rename to data/Templates/Ccda/Section/_SocialHistory.liquid index 33c2f5c7d..d1c4ca549 100644 --- a/data/Templates/Cda/Section/_SocialHistory.liquid +++ b/data/Templates/Ccda/Section/_SocialHistory.liquid @@ -1,2 +1,2 @@ -{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.17' -%} +{% assign firstSections = msg | get_first_ccda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.17' -%} {{ firstSections.2_16_840_1_113883_10_20_22_2_17.entry | to_array | batch_render: 'Entry/SocialHistory/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Section/_VitalSigns.liquid b/data/Templates/Ccda/Section/_VitalSigns.liquid similarity index 51% rename from data/Templates/Cda/Section/_VitalSigns.liquid rename to data/Templates/Ccda/Section/_VitalSigns.liquid index 319fe869f..b4ffdda48 100644 --- a/data/Templates/Cda/Section/_VitalSigns.liquid +++ b/data/Templates/Ccda/Section/_VitalSigns.liquid @@ -1,2 +1,2 @@ -{% assign firstSections = msg | get_first_cda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.4.1' -%} +{% assign firstSections = msg | get_first_ccda_sections_by_template_id: '2.16.840.1.113883.10.20.22.2.4.1' -%} {{ firstSections.2_16_840_1_113883_10_20_22_2_4_1.entry | to_array | batch_render: 'Entry/VitalSigns/entry', 'entry' }} \ No newline at end of file diff --git a/data/Templates/Cda/Utils/_GenerateId.liquid b/data/Templates/Ccda/Utils/_GenerateId.liquid similarity index 100% rename from data/Templates/Cda/Utils/_GenerateId.liquid rename to data/Templates/Ccda/Utils/_GenerateId.liquid diff --git a/data/Templates/Cda/ValueSet/ValueSet.json b/data/Templates/Ccda/ValueSet/ValueSet.json similarity index 100% rename from data/Templates/Cda/ValueSet/ValueSet.json rename to data/Templates/Ccda/ValueSet/ValueSet.json diff --git a/data/Templates/Cda/ValueSet/_AddressUse.liquid b/data/Templates/Ccda/ValueSet/_AddressUse.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_AddressUse.liquid rename to data/Templates/Ccda/ValueSet/_AddressUse.liquid diff --git a/data/Templates/Cda/ValueSet/_AllergyCategory.liquid b/data/Templates/Ccda/ValueSet/_AllergyCategory.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_AllergyCategory.liquid rename to data/Templates/Ccda/ValueSet/_AllergyCategory.liquid diff --git a/data/Templates/Cda/ValueSet/_AllergySeverity.liquid b/data/Templates/Ccda/ValueSet/_AllergySeverity.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_AllergySeverity.liquid rename to data/Templates/Ccda/ValueSet/_AllergySeverity.liquid diff --git a/data/Templates/Cda/ValueSet/_AllergyStatus.liquid b/data/Templates/Ccda/ValueSet/_AllergyStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_AllergyStatus.liquid rename to data/Templates/Ccda/ValueSet/_AllergyStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_CompositionStatus.liquid b/data/Templates/Ccda/ValueSet/_CompositionStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_CompositionStatus.liquid rename to data/Templates/Ccda/ValueSet/_CompositionStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_DiagnosticReportStatus.liquid b/data/Templates/Ccda/ValueSet/_DiagnosticReportStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_DiagnosticReportStatus.liquid rename to data/Templates/Ccda/ValueSet/_DiagnosticReportStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_EncounterStatus.liquid b/data/Templates/Ccda/ValueSet/_EncounterStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_EncounterStatus.liquid rename to data/Templates/Ccda/ValueSet/_EncounterStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_EventStatus.liquid b/data/Templates/Ccda/ValueSet/_EventStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_EventStatus.liquid rename to data/Templates/Ccda/ValueSet/_EventStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_FMStatus.liquid b/data/Templates/Ccda/ValueSet/_FMStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_FMStatus.liquid rename to data/Templates/Ccda/ValueSet/_FMStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_Language.liquid b/data/Templates/Ccda/ValueSet/_Language.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_Language.liquid rename to data/Templates/Ccda/ValueSet/_Language.liquid diff --git a/data/Templates/Cda/ValueSet/_MedicationStatementStatus.liquid b/data/Templates/Ccda/ValueSet/_MedicationStatementStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_MedicationStatementStatus.liquid rename to data/Templates/Ccda/ValueSet/_MedicationStatementStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_NameUse.liquid b/data/Templates/Ccda/ValueSet/_NameUse.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_NameUse.liquid rename to data/Templates/Ccda/ValueSet/_NameUse.liquid diff --git a/data/Templates/Cda/ValueSet/_ObservationStatus.liquid b/data/Templates/Ccda/ValueSet/_ObservationStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_ObservationStatus.liquid rename to data/Templates/Ccda/ValueSet/_ObservationStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_RequestStatus.liquid b/data/Templates/Ccda/ValueSet/_RequestStatus.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_RequestStatus.liquid rename to data/Templates/Ccda/ValueSet/_RequestStatus.liquid diff --git a/data/Templates/Cda/ValueSet/_SystemReference.liquid b/data/Templates/Ccda/ValueSet/_SystemReference.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_SystemReference.liquid rename to data/Templates/Ccda/ValueSet/_SystemReference.liquid diff --git a/data/Templates/Cda/ValueSet/_TelecomUse.liquid b/data/Templates/Ccda/ValueSet/_TelecomUse.liquid similarity index 100% rename from data/Templates/Cda/ValueSet/_TelecomUse.liquid rename to data/Templates/Ccda/ValueSet/_TelecomUse.liquid diff --git a/data/Templates/Cda/metadata.json b/data/Templates/Ccda/metadata.json similarity index 100% rename from data/Templates/Cda/metadata.json rename to data/Templates/Ccda/metadata.json diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs index 52882db95..bf06d7a33 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/FunctionalTests.cs @@ -8,7 +8,7 @@ using System.IO; using System.Linq; using DotLiquid; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; @@ -46,20 +46,20 @@ public static IEnumerable GetDataForHl7v2() }); } - public static IEnumerable GetDataForCda() + public static IEnumerable GetDataForCcda() { var data = new List { - new[] { @"CCD", @"170.314B2_Amb_CCD.cda", @"170.314B2_Amb_CCD-expected.json" }, - new[] { @"CCD", @"C-CDA_R2-1_CCD.xml.cda", @"C-CDA_R2-1_CCD.xml-expected.json" }, - new[] { @"CCD", @"CCD.cda", @"CCD-expected.json" }, - new[] { @"CCD", @"CCD-Parent-Document-Replace-C-CDAR2.1.cda", @"CCD-Parent-Document-Replace-C-CDAR2.1-expected.json" }, + new[] { @"CCD", @"170.314B2_Amb_CCD.ccda", @"170.314B2_Amb_CCD-expected.json" }, + new[] { @"CCD", @"C-CDA_R2-1_CCD.xml.ccda", @"C-CDA_R2-1_CCD.xml-expected.json" }, + new[] { @"CCD", @"CCD.ccda", @"CCD-expected.json" }, + new[] { @"CCD", @"CCD-Parent-Document-Replace-C-CDAR2.1.ccda", @"CCD-Parent-Document-Replace-C-CDAR2.1-expected.json" }, }; return data.Select(item => new[] { item[0], - Path.Join(Constants.SampleDataDirectory, "Cda", item[1]), - Path.Join(Constants.ExpectedDataFolder, "Cda", item[0], item[2]), + Path.Join(Constants.SampleDataDirectory, "Ccda", item[1]), + Path.Join(Constants.ExpectedDataFolder, "Ccda", item[0], item[2]), }); } @@ -83,15 +83,15 @@ public void GivenHl7v2Message_WhenConverting_ExpectedFhirResourceShouldBeReturne } [Theory] - [MemberData(nameof(GetDataForCda))] - public void GivenCdaDocument_WhenConverting_ExpectedFhirResourceShouldBeReturned(string rootTemplate, string inputFile, string expectedFile) + [MemberData(nameof(GetDataForCcda))] + public void GivenCcdaDocument_WhenConverting_ExpectedFhirResourceShouldBeReturned(string rootTemplate, string inputFile, string expectedFile) { - var cdaProcessor = new CdaProcessor(); - var templateDirectory = Path.Join(AppDomain.CurrentDomain.BaseDirectory, Constants.TemplateDirectory, "Cda"); + var ccdaProcessor = new CcdaProcessor(); + var templateDirectory = Path.Join(AppDomain.CurrentDomain.BaseDirectory, Constants.TemplateDirectory, "Ccda"); var inputContent = File.ReadAllText(inputFile); var expectedContent = File.ReadAllText(expectedFile); - var actualContent = cdaProcessor.Convert(inputContent, rootTemplate, new CdaTemplateProvider(templateDirectory)); + var actualContent = ccdaProcessor.Convert(inputContent, rootTemplate, new CcdaTemplateProvider(templateDirectory)); var expectedObject = JObject.Parse(expectedContent); var actualObject = JObject.Parse(actualContent); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs index cad9d0eb3..3d486cf8c 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/RuleBasedTests.cs @@ -60,14 +60,14 @@ public static IEnumerable GetHL7V2Cases() }); } - public static IEnumerable GetCCDACases() + public static IEnumerable GetCcdaCases() { return new List(); } [Theory] [MemberData(nameof(GetHL7V2Cases))] - [MemberData(nameof(GetCCDACases))] + [MemberData(nameof(GetCcdaCases))] public async Task CheckOnePatient(string templateName, string samplePath) { var result = await ConvertData(templateName, samplePath); @@ -77,7 +77,7 @@ public async Task CheckOnePatient(string templateName, string samplePath) [Theory] [MemberData(nameof(GetHL7V2Cases))] - [MemberData(nameof(GetCCDACases))] + [MemberData(nameof(GetCcdaCases))] public async Task CheckNonemptyResource(string templateName, string samplePath) { var result = await ConvertData(templateName, samplePath); @@ -92,7 +92,7 @@ public async Task CheckNonemptyResource(string templateName, string samplePath) [Theory] [MemberData(nameof(GetHL7V2Cases))] - [MemberData(nameof(GetCCDACases))] + [MemberData(nameof(GetCcdaCases))] public async Task CheckNonidenticalResources(string templateName, string samplePath) { var result = await ConvertData(templateName, samplePath); @@ -103,7 +103,7 @@ public async Task CheckNonidenticalResources(string templateName, string sampleP [Theory] [MemberData(nameof(GetHL7V2Cases))] - [MemberData(nameof(GetCCDACases))] + [MemberData(nameof(GetCcdaCases))] public async Task CheckValuesRevealInOrigin(string templateName, string samplePath) { var sampleContent = await File.ReadAllTextAsync(samplePath, Encoding.UTF8); @@ -113,7 +113,7 @@ public async Task CheckValuesRevealInOrigin(string templateName, string samplePa [Theory] [MemberData(nameof(GetHL7V2Cases))] - [MemberData(nameof(GetCCDACases))] + [MemberData(nameof(GetCcdaCases))] public async Task CheckPassOfficialValidator(string templateName, string samplePath) { (bool javaStatus, string javaMessage) = await ExecuteCommand("-version"); @@ -170,7 +170,7 @@ public async Task CheckParserFunctionality() [Theory] [MemberData(nameof(GetHL7V2Cases))] - [MemberData(nameof(GetCCDACases))] + [MemberData(nameof(GetCcdaCases))] public async Task CheckPassFhirParser(string templateName, string samplePath) { var result = await ConvertData(templateName, samplePath); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/170.314B2_Amb_CCD-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/170.314B2_Amb_CCD-expected.json similarity index 100% rename from src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/170.314B2_Amb_CCD-expected.json rename to src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/170.314B2_Amb_CCD-expected.json diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/C-CDA_R2-1_CCD.xml-expected.json similarity index 100% rename from src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/C-CDA_R2-1_CCD.xml-expected.json rename to src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/C-CDA_R2-1_CCD.xml-expected.json diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json similarity index 100% rename from src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json rename to src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/CCD-Parent-Document-Replace-C-CDAR2.1-expected.json diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-expected.json b/src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/CCD-expected.json similarity index 100% rename from src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Cda/CCD/CCD-expected.json rename to src/Microsoft.Health.Fhir.Liquid.Converter.FunctionalTests/TestData/Expected/Ccda/CCD/CCD-expected.json diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs index 15aa77f32..3da979518 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.Tool/ConverterLogicHandler.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2.Models; using Microsoft.Health.Fhir.Liquid.Converter.Models; @@ -19,7 +19,7 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.Tool internal static class ConverterLogicHandler { private const string MetadataFileName = "metadata.json"; - private static readonly List CdaExtensions = new List { ".cda", ".xml" }; + private static readonly List CcdaExtensions = new List { ".ccda", ".xml" }; internal static void Convert(ConverterOptions options) { @@ -97,7 +97,7 @@ private static IFhirConverter CreateDataProcessor(DataType dataType) return dataType switch { DataType.Hl7v2 => new Hl7v2Processor(), - DataType.Cda => new CdaProcessor(), + DataType.Ccda => new CcdaProcessor(), _ => throw new NotImplementedException($"The conversion from data type {dataType} to FHIR is not supported") }; } @@ -107,7 +107,7 @@ private static ITemplateProvider CreateTemplateProvider(DataType dataType, strin return dataType switch { DataType.Hl7v2 => new Hl7v2TemplateProvider(templateDirectory), - DataType.Cda => new CdaTemplateProvider(templateDirectory), + DataType.Ccda => new CcdaTemplateProvider(templateDirectory), _ => throw new NotImplementedException($"The conversion from data type {dataType} to FHIR is not supported") }; } @@ -122,8 +122,8 @@ private static List GetInputFiles(DataType dataType, string inputDataFol return dataType switch { DataType.Hl7v2 => Directory.EnumerateFiles(inputDataFolder, "*.hl7", SearchOption.AllDirectories).ToList(), - DataType.Cda => Directory.EnumerateFiles(inputDataFolder, "*.*", SearchOption.AllDirectories) - .Where(x => CdaExtensions.Contains(Path.GetExtension(x).ToLower())).ToList(), + DataType.Ccda => Directory.EnumerateFiles(inputDataFolder, "*.*", SearchOption.AllDirectories) + .Where(x => CcdaExtensions.Contains(Path.GetExtension(x).ToLower())).ToList(), _ => new List(), }; } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaDataParserTests.cs similarity index 84% rename from src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaDataParserTests.cs index 36bfe1547..37fbf5447 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaDataParserTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaDataParserTests.cs @@ -5,24 +5,24 @@ using System.Collections.Generic; using System.IO; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Models; using Xunit; -namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Ccda { - public class CdaDataParserTests + public class CcdaDataParserTests { - private readonly CdaDataParser _parser = new CdaDataParser(); + private readonly CcdaDataParser _parser = new CcdaDataParser(); - public static IEnumerable GetNullOrEmptyCdaDocument() + public static IEnumerable GetNullOrEmptyCcdaDocument() { yield return new object[] { null }; yield return new object[] { string.Empty }; } - public static IEnumerable GetInvalidCdaDocument() + public static IEnumerable GetInvalidCcdaDocument() { yield return new object[] { "\n" }; yield return new object[] { "abc" }; @@ -30,7 +30,7 @@ public static IEnumerable GetInvalidCdaDocument() } [Theory] - [MemberData(nameof(GetNullOrEmptyCdaDocument))] + [MemberData(nameof(GetNullOrEmptyCcdaDocument))] public void GivenNullOrEmptyData_WhenParse_ExceptionShouldBeThrown(string input) { var exception = Assert.Throws(() => _parser.Parse(input)); @@ -42,18 +42,18 @@ public void GivenNullOrEmptyData_WhenParse_ExceptionShouldBeThrown(string input) } [Theory] - [MemberData(nameof(GetInvalidCdaDocument))] - public void GivenInvalidCdaDocument_WhenParse_ExceptionShouldBeThrown(string input) + [MemberData(nameof(GetInvalidCcdaDocument))] + public void GivenInvalidCcdaDocument_WhenParse_ExceptionShouldBeThrown(string input) { var exception = Assert.Throws(() => _parser.Parse(input)); Assert.Equal(FhirConverterErrorCode.InputParsingError, exception.FhirConverterErrorCode); } [Fact] - public void GivenCdaDocument_WhenParse_CorrectResultShouldBeReturned() + public void GivenCcdaDocument_WhenParse_CorrectResultShouldBeReturned() { // Sample CCD document - var document = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Cda", "CCD.cda")); + var document = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Ccda", "CCD.ccda")); var data = _parser.Parse(document); Assert.NotNull(data); Assert.NotNull(((Dictionary)data).GetValueOrDefault("msg")); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaProcessorTests.cs similarity index 80% rename from src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaProcessorTests.cs index 8cce76823..f9e727f3d 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaProcessorTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaProcessorTests.cs @@ -8,27 +8,27 @@ using System.IO; using System.Threading; using DotLiquid; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Models; using Xunit; -namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Ccda { - public class CdaProcessorTests + public class CcdaProcessorTests { private static readonly string TestData; - static CdaProcessorTests() + static CcdaProcessorTests() { - TestData = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Cda", "CCD.cda")); + TestData = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Ccda", "CCD.ccda")); } [Fact] public void GivenAValidTemplateDirectory_WhenConvert_CorrectResultShouldBeReturned() { - var processor = new CdaProcessor(); - var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var processor = new CcdaProcessor(); + var templateProvider = new CcdaTemplateProvider(Constants.CcdaTemplateDirectory); var result = processor.Convert(TestData, "CCD", templateProvider); Assert.True(result.Length > 0); } @@ -36,7 +36,7 @@ public void GivenAValidTemplateDirectory_WhenConvert_CorrectResultShouldBeReturn [Fact] public void GivenAValidTemplateCollection_WhenConvert_CorrectResultShouldBeReturned() { - var processor = new CdaProcessor(); + var processor = new CcdaProcessor(); var templateCollection = new List> { new Dictionary @@ -45,7 +45,7 @@ public void GivenAValidTemplateCollection_WhenConvert_CorrectResultShouldBeRetur }, }; - var templateProvider = new CdaTemplateProvider(templateCollection); + var templateProvider = new CcdaTemplateProvider(templateCollection); var result = processor.Convert(TestData, "TemplateName", templateProvider); Assert.True(result.Length > 0); } @@ -53,7 +53,7 @@ public void GivenAValidTemplateCollection_WhenConvert_CorrectResultShouldBeRetur [Fact] public void GivenInvalidTemplateProviderOrName_WhenConvert_ExceptionsShouldBeThrown() { - var processor = new CdaProcessor(); + var processor = new CcdaProcessor(); var templateCollection = new List> { new Dictionary @@ -62,7 +62,7 @@ public void GivenInvalidTemplateProviderOrName_WhenConvert_ExceptionsShouldBeThr }, }; - var templateProvider = new CdaTemplateProvider(templateCollection); + var templateProvider = new CcdaTemplateProvider(templateCollection); // Null, empty or nonexistent root template var exception = Assert.Throws(() => processor.Convert(TestData, null, templateProvider)); @@ -83,13 +83,13 @@ public void GivenInvalidTemplateProviderOrName_WhenConvert_ExceptionsShouldBeThr public void GivenProcessorSettings_WhenConvert_CorrectResultsShouldBeReturned() { // Null ProcessorSettings: no time out - var processor = new CdaProcessor(null); - var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var processor = new CcdaProcessor(null); + var templateProvider = new CcdaTemplateProvider(Constants.CcdaTemplateDirectory); var result = processor.Convert(TestData, "CCD", templateProvider); Assert.True(result.Length > 0); // Default ProcessorSettings: no time out - processor = new CdaProcessor(new ProcessorSettings()); + processor = new CcdaProcessor(new ProcessorSettings()); result = processor.Convert(TestData, "CCD", templateProvider); Assert.True(result.Length > 0); @@ -99,7 +99,7 @@ public void GivenProcessorSettings_WhenConvert_CorrectResultsShouldBeReturned() TimeOut = 1, }; - processor = new CdaProcessor(settings); + processor = new CcdaProcessor(settings); var exception = Assert.Throws(() => processor.Convert(TestData, "CCD", templateProvider)); Assert.Equal(FhirConverterErrorCode.TimeoutError, exception.FhirConverterErrorCode); Assert.True(exception.InnerException is TimeoutException); @@ -110,7 +110,7 @@ public void GivenProcessorSettings_WhenConvert_CorrectResultsShouldBeReturned() TimeOut = -1, }; - processor = new CdaProcessor(settings); + processor = new CcdaProcessor(settings); result = processor.Convert(TestData, "CCD", templateProvider); Assert.True(result.Length > 0); } @@ -118,8 +118,8 @@ public void GivenProcessorSettings_WhenConvert_CorrectResultsShouldBeReturned() [Fact] public void GivenCancellationToken_WhenConvert_CorrectResultsShouldBeReturned() { - var processor = new CdaProcessor(); - var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var processor = new CcdaProcessor(); + var templateProvider = new CcdaTemplateProvider(Constants.CcdaTemplateDirectory); var cts = new CancellationTokenSource(); var result = processor.Convert(TestData, "CCD", templateProvider, cts.Token); Assert.True(result.Length > 0); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaTemplateProviderTests.cs similarity index 75% rename from src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaTemplateProviderTests.cs index 1f4b4ae0d..872bbb9c2 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Cda/CdaTemplateProviderTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Ccda/CcdaTemplateProviderTests.cs @@ -6,24 +6,24 @@ using System.Collections.Generic; using System.IO; using DotLiquid; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Xunit; -namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.Ccda { - public class CdaTemplateProviderTests + public class CcdaTemplateProviderTests { [Fact] public void GivenATemplateDirectory_WhenLoadTemplates_CorrectResultsShouldBeReturned() { // Valid template directory - var templateProvider = new CdaTemplateProvider(Constants.CdaTemplateDirectory); + var templateProvider = new CcdaTemplateProvider(Constants.CcdaTemplateDirectory); Assert.NotNull(templateProvider.GetTemplate("CCD")); // Invalid template directory - Assert.Throws(() => new CdaTemplateProvider(string.Empty)); - Assert.Throws(() => new CdaTemplateProvider(Path.Join("a", "b", "c"))); + Assert.Throws(() => new CcdaTemplateProvider(string.Empty)); + Assert.Throws(() => new CcdaTemplateProvider(Path.Join("a", "b", "c"))); // Template collection var collection = new List>() @@ -33,7 +33,7 @@ public void GivenATemplateDirectory_WhenLoadTemplates_CorrectResultsShouldBeRetu { "foo", Template.Parse("bar") }, }, }; - templateProvider = new CdaTemplateProvider(collection); + templateProvider = new CcdaTemplateProvider(collection); Assert.NotNull(templateProvider.GetTemplate("foo")); } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs index 2dee02015..6004ef136 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Constants.cs @@ -12,6 +12,6 @@ public static class Constants public static readonly string SampleDataDirectory = Path.Join("..", "..", "data", "SampleData"); public static readonly string TemplateDirectory = Path.Join("..", "..", "data", "Templates"); public static readonly string Hl7v2TemplateDirectory = Path.Join(TemplateDirectory, "Hl7v2"); - public static readonly string CdaTemplateDirectory = Path.Join(TemplateDirectory, "Cda"); + public static readonly string CcdaTemplateDirectory = Path.Join(TemplateDirectory, "Ccda"); } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs index 202e88fc6..a3804393d 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/CollectionFiltersTest.cs @@ -6,7 +6,7 @@ using System.Collections.Generic; using System.Globalization; using DotLiquid; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Xunit; namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.FilterTests @@ -44,7 +44,7 @@ public void BatchRenderTests() { "foo", Template.Parse("{{ i }} ") }, }, }; - var templateProvider = new CdaTemplateProvider(templateCollection); + var templateProvider = new CcdaTemplateProvider(templateCollection); context = new Context( new List(), new Hash(), diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs index 3f5e3b478..9ab8516fd 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Filters/SectionFiltersTests.cs @@ -7,7 +7,7 @@ using System.Collections.Generic; using System.IO; using DotLiquid; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Xunit; namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.FilterTests @@ -15,43 +15,43 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.UnitTests.FilterTests public class SectionFiltersTests { [Fact] - public void GetFirstCdaSectionsTests() + public void GetFirstCcdaSectionsTests() { const string sectionNameContent = "Problems|Medications|Foo"; // Empty data - Assert.Empty(Filters.GetFirstCdaSections(new Hash(), sectionNameContent)); + Assert.Empty(Filters.GetFirstCcdaSections(new Hash(), sectionNameContent)); // Empty section name content var data = LoadTestData() as Dictionary; var msg = data?.GetValueOrDefault("msg") as IDictionary; - Assert.Empty(Filters.GetFirstCdaSections(Hash.FromDictionary(msg), string.Empty)); + Assert.Empty(Filters.GetFirstCcdaSections(Hash.FromDictionary(msg), string.Empty)); // Valid data and section name content - var sections = Filters.GetFirstCdaSections(Hash.FromDictionary(msg), sectionNameContent); + var sections = Filters.GetFirstCcdaSections(Hash.FromDictionary(msg), sectionNameContent); Assert.Equal(2, sections.Count); Assert.Equal(5, ((Dictionary)sections["Problems"]).Count); // Null data or section name content - Assert.Throws(() => Filters.GetFirstCdaSections(null, sectionNameContent)); - Assert.Throws(() => Filters.GetFirstCdaSections(new Hash(), null)); + Assert.Throws(() => Filters.GetFirstCcdaSections(null, sectionNameContent)); + Assert.Throws(() => Filters.GetFirstCcdaSections(new Hash(), null)); } [Fact] - public void GetCdaSectionListsTests() + public void GetCcdaSectionListsTests() { const string sectionNameContent = "Problems|Medications|Foo"; // Empty data - Assert.Empty(Filters.GetCdaSectionLists(new Hash(), sectionNameContent)); + Assert.Empty(Filters.GetCcdaSectionLists(new Hash(), sectionNameContent)); // Empty section name content var data = LoadTestData() as Dictionary; var msg = data?.GetValueOrDefault("msg") as IDictionary; - Assert.Empty(Filters.GetCdaSectionLists(Hash.FromDictionary(msg), string.Empty)); + Assert.Empty(Filters.GetCcdaSectionLists(Hash.FromDictionary(msg), string.Empty)); // Valid data and section name content - var sectionLists = Filters.GetCdaSectionLists(Hash.FromDictionary(msg), sectionNameContent); + var sectionLists = Filters.GetCcdaSectionLists(Hash.FromDictionary(msg), sectionNameContent); Assert.Equal(2, sectionLists.Count); var sections = (List)sectionLists["Problems"]; @@ -59,37 +59,37 @@ public void GetCdaSectionListsTests() Assert.Equal(5, ((Dictionary)sections[0]).Count); // Null data or section name content - Assert.Throws(() => Filters.GetCdaSectionLists(null, sectionNameContent)); - Assert.Throws(() => Filters.GetCdaSectionLists(new Hash(), null)); + Assert.Throws(() => Filters.GetCcdaSectionLists(null, sectionNameContent)); + Assert.Throws(() => Filters.GetCcdaSectionLists(new Hash(), null)); } [Fact] - public void GetFirstCdaSectionsByTemplateIdTests() + public void GetFirstCcdaSectionsByTemplateIdTests() { const string templateIdContent = "2.16.840.1.113883.10.20.22.2.6.1"; // Empty data - Assert.Empty(Filters.GetFirstCdaSectionsByTemplateId(new Hash(), templateIdContent)); + Assert.Empty(Filters.GetFirstCcdaSectionsByTemplateId(new Hash(), templateIdContent)); // Empty template id content var data = LoadTestData() as Dictionary; var msg = data?.GetValueOrDefault("msg") as IDictionary; - Assert.Empty(Filters.GetFirstCdaSectionsByTemplateId(Hash.FromDictionary(msg), string.Empty)); + Assert.Empty(Filters.GetFirstCcdaSectionsByTemplateId(Hash.FromDictionary(msg), string.Empty)); // Valid data and template id content - var sections = Filters.GetFirstCdaSectionsByTemplateId(Hash.FromDictionary(msg), templateIdContent); + var sections = Filters.GetFirstCcdaSectionsByTemplateId(Hash.FromDictionary(msg), templateIdContent); Assert.Single(sections); Assert.Equal(5, ((Dictionary)sections["2_16_840_1_113883_10_20_22_2_6_1"]).Count); // Null data or template id content - Assert.Throws(() => Filters.GetFirstCdaSectionsByTemplateId(null, templateIdContent)); - Assert.Throws(() => Filters.GetFirstCdaSectionsByTemplateId(new Hash(), null)); + Assert.Throws(() => Filters.GetFirstCcdaSectionsByTemplateId(null, templateIdContent)); + Assert.Throws(() => Filters.GetFirstCcdaSectionsByTemplateId(new Hash(), null)); } private static IDictionary LoadTestData() { - var parser = new CdaDataParser(); - var dataContent = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Cda", "170.314B2_Amb_CCD.cda")); + var parser = new CcdaDataParser(); + var dataContent = File.ReadAllText(Path.Join(Constants.SampleDataDirectory, "Ccda", "170.314B2_Amb_CCD.ccda")); return parser.Parse(dataContent); } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs index 2bcf7d27b..3533fea54 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter.UnitTests/Utilities/TemplateUtilityTests.cs @@ -42,7 +42,7 @@ public void GivenValidHl7v2TemplateContents_WhenParseTemplates_CorrectResultShou } [Fact] - public void GivenValidCdaTemplateContents_WhenParseTemplates_CorrectResultShouldBeReturned() + public void GivenValidCcdaTemplateContents_WhenParseTemplates_CorrectResultShouldBeReturned() { var templates = new Dictionary { @@ -94,7 +94,7 @@ public void GivenInvalidHl7v2TemplateContents_WhenParseTemplates_ExceptionsShoul } [Fact] - public void GivenInvalidCdaTemplateContents_WhenParseTemplates_ExceptionsShouldBeThrown() + public void GivenInvalidCcdaTemplateContents_WhenParseTemplates_ExceptionsShouldBeThrown() { // Invalid DotLiquid template var templates = new Dictionary { { "CCD.liquid", "{{" } }; diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaDataParser.cs similarity index 98% rename from src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaDataParser.cs index f1d84f8d7..6a0671b14 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaDataParser.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaDataParser.cs @@ -12,9 +12,9 @@ using Microsoft.Health.Fhir.Liquid.Converter.Models; using Newtonsoft.Json; -namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.Ccda { - public class CdaDataParser + public class CcdaDataParser { public IDictionary Parse(string document) { diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaProcessor.cs similarity index 83% rename from src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaProcessor.cs index 055494f08..5760814a0 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaProcessor.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaProcessor.cs @@ -10,13 +10,13 @@ using Microsoft.Health.Fhir.Liquid.Converter.OutputProcessor; using Newtonsoft.Json; -namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.Ccda { - public class CdaProcessor : BaseProcessor + public class CcdaProcessor : BaseProcessor { - private readonly CdaDataParser _dataParser = new CdaDataParser(); + private readonly CcdaDataParser _dataParser = new CcdaDataParser(); - public CdaProcessor(ProcessorSettings processorSettings = null) + public CcdaProcessor(ProcessorSettings processorSettings = null) : base(processorSettings) { } @@ -39,18 +39,18 @@ public override string Convert(string data, string rootTemplate, ITemplateProvid throw new RenderException(FhirConverterErrorCode.TemplateNotFound, string.Format(Resources.TemplateNotFound, rootTemplate)); } - var cdaData = _dataParser.Parse(data); - var context = CreateContext(templateProvider, cdaData); + var ccdaData = _dataParser.Parse(data); + var context = CreateContext(templateProvider, ccdaData); var rawResult = RenderTemplates(template, context); var result = PostProcessor.Process(rawResult); return result.ToString(Formatting.Indented); } - protected override Context CreateContext(ITemplateProvider templateProvider, object cdaData) + protected override Context CreateContext(ITemplateProvider templateProvider, object ccdaData) { // Load value set mapping - var context = base.CreateContext(templateProvider, cdaData); + var context = base.CreateContext(templateProvider, ccdaData); var codeMapping = templateProvider.GetTemplate("ValueSet/ValueSet"); if (codeMapping?.Root?.NodeList?.First() != null) { diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaTemplateProvider.cs similarity index 78% rename from src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaTemplateProvider.cs index c5dc39fd1..bcb4ebb5a 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/CdaTemplateProvider.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/CcdaTemplateProvider.cs @@ -9,18 +9,18 @@ using Microsoft.Health.Fhir.Liquid.Converter.DotLiquids; using Microsoft.Health.Fhir.Liquid.Converter.Models; -namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.Ccda { - public class CdaTemplateProvider : ITemplateProvider + public class CcdaTemplateProvider : ITemplateProvider { private readonly IFhirConverterTemplateFileSystem _fileSystem; - public CdaTemplateProvider(string templateDirectory) + public CcdaTemplateProvider(string templateDirectory) { - _fileSystem = new TemplateLocalFileSystem(templateDirectory, DataType.Cda); + _fileSystem = new TemplateLocalFileSystem(templateDirectory, DataType.Ccda); } - public CdaTemplateProvider(List> templateCollection) + public CcdaTemplateProvider(List> templateCollection) { _fileSystem = new MemoryFileSystem(templateCollection); } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/DictionaryJsonConverter.cs similarity index 98% rename from src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs rename to src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/DictionaryJsonConverter.cs index 76a23a47b..583131e5a 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Cda/DictionaryJsonConverter.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Ccda/DictionaryJsonConverter.cs @@ -8,7 +8,7 @@ using System.Text.RegularExpressions; using Newtonsoft.Json; -namespace Microsoft.Health.Fhir.Liquid.Converter.Cda +namespace Microsoft.Health.Fhir.Liquid.Converter.Ccda { /// /// One-way JsonConverter to deserialize JSON string to IDictionary diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs index 4e3b1eca0..7ec3f6e68 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Filters/SectionFilters.cs @@ -18,9 +18,9 @@ public partial class Filters { private static readonly Regex NormalizeSectionNameRegex = new Regex("[^A-Za-z0-9]"); - public static IDictionary GetFirstCdaSections(Hash data, string sectionNameContent) + public static IDictionary GetFirstCcdaSections(Hash data, string sectionNameContent) { - var sectionLists = Filters.GetCdaSectionLists(data, sectionNameContent); + var sectionLists = Filters.GetCcdaSectionLists(data, sectionNameContent); var result = new Dictionary(); foreach (var (key, value) in sectionLists) { @@ -30,7 +30,7 @@ public static IDictionary GetFirstCdaSections(Hash data, string return result; } - public static IDictionary GetCdaSectionLists(Hash data, string sectionNameContent) + public static IDictionary GetCcdaSectionLists(Hash data, string sectionNameContent) { var result = new Dictionary(); var sectionNames = sectionNameContent.Split("|", StringSplitOptions.RemoveEmptyEntries); @@ -67,7 +67,7 @@ public static IDictionary GetCdaSectionLists(Hash data, string s return result; } - public static IDictionary GetFirstCdaSectionsByTemplateId(Hash data, string templateIdContent) + public static IDictionary GetFirstCcdaSectionsByTemplateId(Hash data, string templateIdContent) { var result = new Dictionary(); var templateIds = templateIdContent.Split("|", StringSplitOptions.RemoveEmptyEntries); diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs index e7676c378..36c343d47 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Models/DataType.cs @@ -8,6 +8,6 @@ namespace Microsoft.Health.Fhir.Liquid.Converter.Models public enum DataType { Hl7v2, - Cda, + Ccda, } } diff --git a/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs b/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs index 376bb1112..d9980feb7 100644 --- a/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs +++ b/src/Microsoft.Health.Fhir.Liquid.Converter/Utilities/TemplateUtility.cs @@ -28,7 +28,7 @@ static TemplateUtility() } /// - /// Parse templates from string, "CodeSystem/CodeSystem.json" and "ValueSet/ValueSet.json" are used for Hl7v2 and C-CDA datatype code mapping respectively + /// Parse templates from string, "CodeSystem/CodeSystem.json" and "ValueSet/ValueSet.json" are used for Hl7v2 and C-CDA data type code mapping respectively /// /// A dictionary, key is the name, value is the template content in string format /// A dictionary, key is the name, value is Template diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs index 4c652b3c6..2e8d3e1a7 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.FunctionalTests/TemplateCollectionFunctionalTests.cs @@ -13,7 +13,7 @@ using DotLiquid; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Options; -using Microsoft.Health.Fhir.Liquid.Converter.Cda; +using Microsoft.Health.Fhir.Liquid.Converter.Ccda; using Microsoft.Health.Fhir.Liquid.Converter.Exceptions; using Microsoft.Health.Fhir.Liquid.Converter.Hl7v2; using Microsoft.Health.Fhir.TemplateManagement.Exceptions; @@ -115,19 +115,19 @@ public static IEnumerable GetHl7v2DataAndTemplateSources() }); } - public static IEnumerable GetCdaDataAndTemplateSources() + public static IEnumerable GetCcdaDataAndTemplateSources() { var data = new List { - new object[] { @"170.314B2_Amb_CCD.cda", @"CCD" }, - new object[] { @"C-CDA_R2-1_CCD.xml.cda", @"CCD" }, - new object[] { @"CCD.cda", @"CCD" }, - new object[] { @"CCD-Parent-Document-Replace-C-CDAR2.1.cda", @"CCD" }, + new object[] { @"170.314B2_Amb_CCD.ccda", @"CCD" }, + new object[] { @"C-CDA_R2-1_CCD.xml.ccda", @"CCD" }, + new object[] { @"CCD.ccda", @"CCD" }, + new object[] { @"CCD-Parent-Document-Replace-C-CDAR2.1.ccda", @"CCD" }, }; return data.Select(item => new object[] { - Path.Join(_sampleDataDirectory, "Cda", Convert.ToString(item[0])), - Path.Join(_templateDirectory, "Cda"), + Path.Join(_sampleDataDirectory, "Ccda", Convert.ToString(item[0])), + Path.Join(_templateDirectory, "Ccda"), Convert.ToString(item[1]), }); } @@ -331,20 +331,20 @@ public async Task GivenHl7v2SameInputData_WithDifferentTemplateSource_WhenConver } [Theory] - [MemberData(nameof(GetCdaDataAndTemplateSources))] - public async Task GivenCdaSameInputData_WithDifferentTemplateSource_WhenConvert_ResultShouldBeIdentical(string inputFile, string defaultTemplateDirectory, string rootTemplate) + [MemberData(nameof(GetCcdaDataAndTemplateSources))] + public async Task GivenCcdaSameInputData_WithDifferentTemplateSource_WhenConvert_ResultShouldBeIdentical(string inputFile, string defaultTemplateDirectory, string rootTemplate) { - var folderTemplateProvider = new CdaTemplateProvider(defaultTemplateDirectory); + var folderTemplateProvider = new CcdaTemplateProvider(defaultTemplateDirectory); var templateProviderFactory = new TemplateCollectionProviderFactory(new MemoryCache(new MemoryCacheOptions()), Options.Create(new TemplateCollectionConfiguration())); var templateProvider = templateProviderFactory.CreateTemplateCollectionProvider(_defaultCcdaTemplateImageReference, string.Empty); - var imageTemplateProvider = new CdaTemplateProvider(await templateProvider.GetTemplateCollectionAsync(CancellationToken.None)); + var imageTemplateProvider = new CcdaTemplateProvider(await templateProvider.GetTemplateCollectionAsync(CancellationToken.None)); - var cdaProcessor = new CdaProcessor(); + var ccdaProcessor = new CcdaProcessor(); var inputContent = File.ReadAllText(inputFile); - var imageResult = cdaProcessor.Convert(inputContent, rootTemplate, imageTemplateProvider); - var folderResult = cdaProcessor.Convert(inputContent, rootTemplate, folderTemplateProvider); + var imageResult = ccdaProcessor.Convert(inputContent, rootTemplate, imageTemplateProvider); + var folderResult = ccdaProcessor.Convert(inputContent, rootTemplate, folderTemplateProvider); var imageResultObject = JObject.Parse(imageResult); var folderResultObject = JObject.Parse(folderResult); diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs index e67f3cd7a..f1bfb1261 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Models/DefaultTemplateInfoTest.cs @@ -17,7 +17,7 @@ public static IEnumerable GetValidDefaultTemplateInfo() { yield return new object[] { DataType.Hl7v2, "microsofthealth/fhirconverter:default", "Hl7v2DefaultTemplates.tar.gz" }; yield return new object[] { DataType.Hl7v2, "microsofthealth/hl7v2templates:default", "Hl7v2DefaultTemplates.tar.gz" }; - yield return new object[] { DataType.Cda, "microsofthealth/ccdatemplates:default", "CdaDefaultTemplates.tar.gz" }; + yield return new object[] { DataType.Ccda, "microsofthealth/ccdatemplates:default", "CcdaDefaultTemplates.tar.gz" }; } public static IEnumerable GetSupportedImageReference() diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs index a076fae80..4b66ccf1a 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/Providers/TemplateCollectionProviderTests.cs @@ -37,8 +37,8 @@ public TemplateCollectionProviderTests() TemplateLayer hl7V2DefaultTemplateLayer = TemplateLayer.ReadFromEmbeddedResource("Hl7v2DefaultTemplates.tar.gz"); _cache.Set("microsofthealth/fhirconverter:default", hl7V2DefaultTemplateLayer, memoryOption); _cache.Set("microsofthealth/hl7v2templates:default", hl7V2DefaultTemplateLayer, memoryOption); - TemplateLayer cdaDefaultTemplateLayer = TemplateLayer.ReadFromEmbeddedResource("CdaDefaultTemplates.tar.gz"); - _cache.Set("microsofthealth/ccdatemplates:default", cdaDefaultTemplateLayer, memoryOption); + TemplateLayer ccdaDefaultTemplateLayer = TemplateLayer.ReadFromEmbeddedResource("CcdaDefaultTemplates.tar.gz"); + _cache.Set("microsofthealth/ccdatemplates:default", ccdaDefaultTemplateLayer, memoryOption); PushLargeSizeManifest(); } diff --git a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs index a70409cd8..bac0d6a0a 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement.UnitTests/TemplateCollectionProviderFactoryTests.cs @@ -41,7 +41,7 @@ public static IEnumerable GetDefaultTemplateTarGzFile() { yield return new object[] { "NewDefaultTemplates.tar.gz", _defaultTemplateImageReference, @"..\..\..\..\..\data\Templates\Hl7v2" }; yield return new object[] { "Hl7v2NewDefaultTemplates.tar.gz", _defaultHl7v2TemplateImageReference, @"..\..\..\..\..\data\Templates\Hl7v2" }; - yield return new object[] { "CdaNewDefaultTemplates.tar.gz", _defaultCcdaTemplateImageReference, @"..\..\..\..\..\data\Templates\Cda" }; + yield return new object[] { "CcdaNewDefaultTemplates.tar.gz", _defaultCcdaTemplateImageReference, @"..\..\..\..\..\data\Templates\Ccda" }; } public static IEnumerable GetDefaultImageReference() diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj b/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj index 3e89e0855..5fed538cf 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Microsoft.Health.Fhir.TemplateManagement.csproj @@ -30,8 +30,8 @@ Hl7v2DefaultTemplates.tar.gz - - CdaDefaultTemplates.tar.gz + + CcdaDefaultTemplates.tar.gz @@ -43,7 +43,7 @@ - + diff --git a/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs b/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs index 12349b4a3..6ddbe0413 100644 --- a/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs +++ b/src/Microsoft.Health.Fhir.TemplateManagement/Models/DefaultTemplateInfo.cs @@ -25,7 +25,7 @@ public DefaultTemplateInfo(DataType dataType, string imageReference, string temp { { "microsofthealth/fhirconverter:default", new DefaultTemplateInfo(DataType.Hl7v2, "microsofthealth/fhirconverter:default", "Hl7v2DefaultTemplates.tar.gz") }, { "microsofthealth/hl7v2templates:default", new DefaultTemplateInfo(DataType.Hl7v2, "microsofthealth/hl7v2templates:default", "Hl7v2DefaultTemplates.tar.gz") }, - { "microsofthealth/ccdatemplates:default", new DefaultTemplateInfo(DataType.Cda, "microsofthealth/ccdatemplates:default", "CdaDefaultTemplates.tar.gz") }, + { "microsofthealth/ccdatemplates:default", new DefaultTemplateInfo(DataType.Ccda, "microsofthealth/ccdatemplates:default", "CcdaDefaultTemplates.tar.gz") }, }; public DataType DataType { get; set; } From 5d3df5e5db0e6ad5309e6c28646daecbc3cb490a Mon Sep 17 00:00:00 2001 From: Yanhui Hong Date: Thu, 18 Mar 2021 15:54:01 +0800 Subject: [PATCH 4/4] upgrade version to 3.5 (#219) Co-authored-by: YanhuiHong --- release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release.yml b/release.yml index 3e9a44c3f..f3982ac73 100644 --- a/release.yml +++ b/release.yml @@ -16,7 +16,7 @@ variables: functionalTests: "**/*FunctionalTests/*.csproj" buildConfiguration: 'Release' major: 3 - minor: 4 + minor: 5 bulidnum: $[counter(format('{0}.{1}',variables['major'],variables['minor']), 100)] revision: $[counter(format('{0:yyyyMMdd}', pipeline.startTime), 1)] version: $(major).$(minor).$(bulidnum).$(revision)