Skip to content

Commit

Permalink
fix documentation pass 1
Browse files Browse the repository at this point in the history
  • Loading branch information
mmccall committed Jun 12, 2014
1 parent b21e33f commit 2f6fb57
Show file tree
Hide file tree
Showing 11 changed files with 183 additions and 464 deletions.
69 changes: 21 additions & 48 deletions docs/sections/allergies.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,21 +3,16 @@
###Object Schema:
```
var Allergies = {
"date": [{cda_date}],
"identifiers": [{cda_id}],
"name": {type: string, required: true},
"code": {type: string, required: false},
"severity": {type: string, required: false},
"status": {type: string, required: false},
"reaction": [
{
"code": {type: string, required: true},
"name": {type: string, required: true},
"code_system_name": {type: string, required: true},
"severity": {type: string, required: false},
}
]
}
"date": [{cda_date}],
"identifiers": [{cda_id}],
"allergen": {cda_coded_entry},
"severity": {type: string, required: false},
"status": {type: string, required: false},
"reactions": [{
"reaction": {cda_coded_entry},
"severity": {type: string, required: false}
}]
}
```

[JSON/XML sample](samples/allergies.md)
Expand All @@ -43,30 +38,15 @@ var Allergies = {
- 1..*
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/id

####Allergy.name
####Allergy.allergen
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/participant/participantRole/playingEntity/code@displayName
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/participant/participantRole/playingEntity/code
- Container object for allergen details.
- Can be be from RXNORM, UNII, or NDF-RT.
- A translation object is possible.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

####Allergy.code
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/participant/participantRole/playingEntity/code@code
- Can be be from RXNORM, UNII, or NDF-RT.
- A translation object is possible.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

####Allergy.code_system_name
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/participant/participantRole/playingEntity/code@codeSystemName
- Can be be RXNORM, UNII, or NDF-RT.
- A translation object is possible.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

####Allergy.severity
- 0..1
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/entryRelationship/observation/value@displayName
Expand All @@ -79,29 +59,22 @@ var Allergies = {
- OID 2.16.840.1.113883.10.20.22.4.28.
- Uses HITSP Problem Status 2.16.840.1.113883.3.88.12.80.68 for lookup.

###Allergy.reaction
###Allergy.reactions
- 0..*
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/entryRelationship/observation
- OID 2.16.840.1.113883.10.20.22.4.9.

###Allergy.reaction.name
- 0..*
###Allergy.reactions.reaction
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/entryRelationship/observation/value@displayName
- Should always be codified to SNOMED-CT.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

###Allergy.reaction.code
- 0..*
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/entryRelationship/observation/value@code
- Should always be codified to SNOMED-CT.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.
####Allergy.reactions.severity
- 0..1
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/entryRelationship/observation/value@displayName
- OID 2.16.840.1.113883.10.20.22.4.8.
- Uses Problem Severity 2.16.840.1.113883.3.88.12.3221.6.8 for lookup.

###Allergy.reaction.code_system_name
- 0..*
- //ClinicalDocument/component/structuredBody/component/section/entry/act/entryRelationship/observation/entryRelationship/observation/value@codeSystemName
- Should be always 2.16.840.1.113883.6.96.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

147 changes: 5 additions & 142 deletions docs/sections/demographics.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,8 @@ var demographics = {
"identifiers": [{cda_id}],
"marital_status": {type: string, required: false},
"address": [{cda_usr_address}],
"phone": [{
"number": {type: string, required: true},
"type": {type: string, required: true}
}],
"email": [{
"address": {type: string, required: true},
"type": {type:string, required: true}
}],
"phone": [{cda_phone}],
"email": [{cda_email}],
"race_ethnicity": {type:string, required: false},
"religion": {type:string, required: false},
"languages": [
Expand All @@ -35,14 +29,8 @@ var demographics = {
"name": {cda_name},
"relationship": {type: string, required: false},
"address": [{cda_usr_address}],
"phone": [{
"number": {type: string, required: true},
"type": {type: string, required: true}
}],
"email": [{
"address": {type: string, required: true},
"type": {type:string, required: true}
}]
"phone": [{cda_phone}],
"email": [{cda_email}]
}
var cda_usr_address = {
Expand All @@ -54,14 +42,6 @@ var cda_usr_address = {
"postal_code": {type: string, required: false},
"country": {type: string, required: false}
}
var cda_name = {
"prefix": [{type: string, required: false}],
"first": {type: string, required: true},
"middle": [{type: string, required: false],
"last": {type: string, required: true},
"suffix": {type: string, required: false}
}
```

[JSON/XML sample](samples/demographics.md)
Expand Down Expand Up @@ -90,35 +70,6 @@ var cda_name = {
* OID: 2.16.840.1.113883.10.20.22.5
* Not supported: Optional "@use" element.

####name.prefix
* 0..1
* //ClinicalDocument/recordTarget/patientRole/patient/name/prefix
* Not supported: Optional "@qualifier" element.

####name.first
* 1..1
* //ClinicalDocument/recordTarget/patientRole/patient/name/given[0]
* Not supported: Optional "@qualifier" element.
* Specification dictates at least one given name required, can be parsed as first.

####name.middle
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/name/given[1-n]
* Specification dictates that any second given name is middle.
* Assumption: any other given names are middle names.
* Not supported: Optional "@qualifier" element.
* May be valuable to concatenate multiple middle-names to single object.

####name.last
* 1..1
* //ClinicalDocument/recordTarget/patientRole/patient/name/family
* Not supported: Optional "@qualifier" element.

####name.suffix
* 0..1
* //ClinicalDocument/recordTarget/patientRole/patient/name/suffix
* Not supported: Optional "@qualifier" element.

####dob
* 1..1
* //ClinicalDocument/recordTarget/patientRole/patient/birthTime
Expand All @@ -135,17 +86,6 @@ var cda_name = {
* //ClinicalDocument/recordTarget/patientRole/id
* Technically, this is required. However, nullFlavor is acceptable. If nullFlavor is found, the identifier should be rejected.

####identifiers.identifier_root
* 1..1
* //ClinicalDocument/recordTarget/patientRole/id@root
* This can either be an OID, UUID, or UID.
* Can later be enhanced to lookup a subset of the HL7 OID registry and store text name.

####identifiers.identifier
* 1..1
* //ClinicalDocument/recordTarget/patientRole/id@extension
* This is the actual identifier.

####marital_status
* 0..1
* //ClinicalDocument/recordTarget/patientRole/patient/maritalStatusCode@code
Expand Down Expand Up @@ -200,35 +140,11 @@ var cda_name = {
* Each record must have at least one phone or email entry.
* Each phone record should be checked for 'tel:' lead of value.

####phone.number
* 0..*
* //ClinicalDocument/recordTarget/patientRole/telecom@value
* Should be checked for 'tel:' lead, and parsed as phone if valid.

####phone.type
* 0..*
* //ClinicalDocument/recordTarget/patientRole/telecom@use
* Should be checked for 'tel:' lead, and parsed as phone if valid.
* Depending on what is in the "@use", this should be "home", "work", "mobile", or "other".
* Other is for "HV", or when @use isn't supplied.

####email
* 0..*
* //ClinicalDocument/recordTarget/patientRole/telecom
* Each phone record should be checked for 'mailto:' lead of value.

####email.address
* 0..*
* //ClinicalDocument/recordTarget/patientRole/telecom@value
* Should be checked for 'mailto:' lead, and parsed as phone if valid.

####email.type
* 0..*
* //ClinicalDocument/recordTarget/patientRole/telecom@use
* Should be checked for 'mailto:' lead, and parsed as phone if valid.
* Depending on what is in the "@use", this should be "home", "work", or "other".
* Other is for "HV", "MC", or when @use isn't supplied. Mobile email isn't a thing.

####race_ethnicity
* 0..1
* //ClinicalDocument/recordTarget/patientRole/patient/raceCode@code
Expand Down Expand Up @@ -286,66 +202,13 @@ var cda_name = {
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/telecom
* Each phone record should be checked for 'tel:' lead of value.

####guardian.phone.number
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/telecom@value
* Should be checked for 'tel:' lead, and parsed as phone if valid.

####guardian.phone.type
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/telecom@use
* Should be checked for 'tel:' lead, and parsed as phone if valid.
* Depending on what is in the "@use", this should be "home", "work", "mobile", or "other".
* Other is for "HV", or when @use isn't supplied.

####guardian.email
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/telecom
* Each phone record should be checked for 'mailto:' lead of value.

####guardian.email.address
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/telecom@value
* Should be checked for 'mailto:' lead, and parsed as phone if valid.

####guardian.email.type
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/telecom@use
* Should be checked for 'mailto:' lead, and parsed as phone if valid.
* Depending on what is in the "@use", this should be "home", "work", or "other".
* Other is for "HV", "MC", or when @use isn't supplied. Mobile email isn't a thing.

####guardian.name
* 1..1
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/name
* OID: 2.16.840.1.113883.10.20.22.5
* Not supported: Optional "@use" element.

####guardian.name.prefix
* 0..1
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/name/prefix
* Not supported: Optional "@qualifier" element.

####guardian.name.first
* 1..1
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/name/given[0]
* Not supported: Optional "@qualifier" element.
* Specification dictates at least one given name required, can be parsed as first.

####guardian.name.middle
* 0..*
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/name/given[1-n]
* Specification dictates that any second given name is middle.
* Assumption: any other given names are middle names.
* Not supported: Optional "@qualifier" element.
* May be valuable to concatenate multiple middle-names to single object.

####guardian.name.last
* 1..1
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/name/family
* Not supported: Optional "@qualifier" element.

####guardian.name.suffix
* 0..1
* //ClinicalDocument/recordTarget/patientRole/patient/guardian/name/suffix
* Not supported: Optional "@qualifier" element.
* Not supported: Optional "@use" element.
26 changes: 4 additions & 22 deletions docs/sections/encounters.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,9 @@
var Encounters = {
"date": [{cda_date}],
"identifiers": [{cda_id}],
"name": {type: string, required: true},
"code": {type: string, required: true},
"code_system_name": {type:string, required: true},
"encounter": {cda_coded_entry},
"locations": [[cda_location}],
"findings": [{cda_concept}]
"findings": [{cda_coded_entry}]
}
```

Expand All @@ -29,30 +27,14 @@ var Encounters = {
- 1..*
- //ClinicalDocument/component/structuredBody/component/section/entry/encounter/id

####Encounter.name
####Encounter.encounter
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/encounter/code@displayName
- //ClinicalDocument/component/structuredBody/component/section/entry/encounter/code
- Must be selected from EncounterTypeCode.
- A translation object is possible.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

####Encounter.code
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/encounter/code@code
- Must be selected from EncounterTypeCode.
- A translation object is possible.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

####Encounter.code_system_name
- 1..1
- //ClinicalDocument/component/structuredBody/component/section/entry/encounter/code@codeSystemName
- Can be be RXNORM, UNII, or NDF-RT.
- A translation object is possible.
- Not supported: nullFlavor.
- TODO: Support lookup of values from coding system.

####Encounter.locations
- 0..*
- //ClinicalDocument/component/structuredBody/component/section/entry/encounter/participant/participantRole
Expand Down

0 comments on commit 2f6fb57

Please sign in to comment.